Linux 基础命令(一)

来源:互联网 发布:名片设计软件哪个好 编辑:程序博客网 时间:2024/06/13 17:14


Linux 基础命令(一)



 Published On July 15, 2017


本系列将学习过程中遇到的命令整理一下,留作备查和复习使用。


bc 支持任意精度数值的交互式执行的计算机语言


bc命令是一种类似于C语言,能够支持任意精度数值计算的计算机语言。可以在命令中指定Standard math lib 。


OPTIONS


   -h, --help          Print the usage and exit.          打印使用帮助   -i, --interactive          Force interactive mode.          强制进入交互模式   -l, --mathlib          Define the standard math library.          定义使用标准的数学库   -w, --warn          Give warnings for extensions to POSIX bc.          对POSIX bc的扩展给出警告信息   -s, --standard          Process exactly the POSIX bc language.          正确的处理POSIX bc 语言   -q, --quiet          Do not print the normal GNU bc welcome.          不打印welcome语句   -v, --version          Print the version number and copyright and quit.          打印版本号  

EXAMPLE

  • 执行浮点数运算

      echo "1239.22347*232" | bc  287499.84504  
  • 设定小数精度

      echo "scale=2;3/8" | bc   0.37  
  • 进制转换

      //十进制转换二进制  echo "obase=2;1024" | bc    10000000000    //二进制转换成十进制  //obase:out base  转换后的进制数  //ibase:in base 转换前的进制数  echo "obase=10;ibase=2;11111111" | bc  255  
  • 计算平方和平方根

      echo "10^9" | bc   echo "sqrt(100)" | bc  //开平方并指定精度  echo "scale=5;sqrt(2312)" | bc  

cp 文件复制命令

将一个或者多个源文件或者目录复制到指定的文件或目录。

单源复制 cp [OPTION]… [-T] SOURCE DEST
多源复制 cp [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE…

单源复制:
    如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中。
    如果DEST存在:
      如果DEST是非目录文件:则覆盖目标文件;
      如果DEST是目录文件,则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流至目标文件

多源复制:
    如果DEST不存在:错误
    如果DEST存在:
      如果DEST是非目录文件:错误
      如果DEST是目录文件,分别复制每个文件至目标目录中,并保持原名

OPTIONS

 -i:交互式复制,即覆盖之前,提醒用户确认    -f:强制覆盖目标文件    -r,-R:递归复制目录,    -d:复制符号链接文件本身,而非其指向的源文件    -a: same as -dR --preserve=all,archive 用于实现归档    --preserve        mode:权限        ownership:属主和属组        timestamps:时间戳        context:安全标签        xattr:扩展属性        links:符号链接        all:上述所有属性  

EXAMPLE

  • 单源复制
 cp -r  /tmp/mysysroot /home/quliang/temp/mysysroot    //展示该目录下的文件树形结构    tree temp/mysysroot    temp/mysysroot    ├── bin    ├── etc    │   └── sysconfig    │       └── network-scripts    ├── sbin    ├── usr    │   ├── bin    │   ├── lib    │   ├── lib64    │   ├── local    │   │   ├── bin    │   │   ├── etc    │   │   ├── lib    │   │   └── sbin    │   └── sbin    └── var        ├── cache        ├── log        └── run  
  • 多源复制
 //同样适用bash 路径的扩展性    //如果test 不存在   则出错    //如果test 不是目录文件 则出错    cp -r mysysroot/{bin,sbin,etc}  mysysroot2/test2    cp: target `mysysroot2/test2' is not a directory    cp -r mysysroot/{bin,sbin,etc}  mysysroot2/test    //mysysroot2 是将mysysroot 复制了一份    tree mysysroot2    mysysroot2    ├── bin    ├── etc    │   └── sysconfig    │       └── network-scripts    ├── sbin    ├── test    │   ├── bin    │   ├── etc    │   │   └── sysconfig    │   │       └── network-scripts    │   └── sbin    ├── test2    ├── usr    │   ├── bin    │   ├── lib    │   ├── lib64    │   ├── local    │   │   ├── bin    │   │   ├── etc    │   │   ├── lib    │   │   └── sbin    │   └── sbin    └── var        ├── cache        ├── log        └── run  

cat 显示文件内容

链接文件,并打印到标准输出上。 不要查看二进制文件

OPTIONS

 -n: 给显示的文本行统一编号    -E:显示行结束符$;  

EXAMPLE

先使用nano工具在测试目录下新建两个文本文件,并写入一些内容

 cat -nE text1 text2     1   HelloWorld$    2   $    3   Hello World !!!!!!!$   

dd 复制文件并对文件的内容进行转换

用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
可以用来做文件数据备份

OPTIONS

 if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >    of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >    ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。    bs=bytes:同时设置读入/输出的块大小为bytes个字节。    cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。    skip=blocks:从输入文件开头跳过blocks个块后再开始复制。    seek=blocks:从输出文件开头跳过blocks个块后再开始复制。    注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。    conv=conversion:用指定的参数转换文件。            ascii:转换ebcdic为ascii            ebcdic:转换ascii为ebcdic            ibm:转换ascii为alternate ebcdic            block:把每一行转换为长度为cbs,不足部分用空格填充            unblock:使每一行的长度都为cbs,不足部分用空格填充            lcase:把大写字符转换为小写字符            ucase:把小写字符转换为大写字符            swab:交换输入的每对字节            noerror:出错时不停止            notrunc:不截短输出文件            sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。  

EXAMPLE

先使用nano工具在测试目录下新建两个文本文件,并写入一些内容

 //将大写字母转换成小写字母    dd if=text1 of=text3 conv=lcase     cat text3     //将小写字母转换成大写字母    dd if=text3 of=text4 conv=ucase  

getent 从名称lib中获取entries,可理解为键值对

使用方法 getent database [key..]
  getent命令是用来展示名称库所支持的database中的entries。 名称库 在/etc/nsswitch.conf中进行配置。如果在命令执行的过程中,提供了一个或者多个key,那么相应database中只有与key相对应的entries会被显示出来。如果不指定,所有的键值对都会被显示出来

OPTIONS

 //database中常见的有如下几种.    aliases    psswd    group    hosts    networks    services    shadow  

EXAMPLE

 getent passwd bin ftp    bin:x:1:1:bin:/bin:/sbin/nologin    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin  

hexdump 命令

查看”二进制”文件的十六进制编码,但实际上他能查看任何文件,而不仅仅限于二进制文件
用法 hexdump [选项] [文件]…

OPTIONS

 -n length 只格式化输入文件的前length个字节。    -C 输出规范的十六进制和ASCII码。     -b 单字节八进制显示。     -c 单字节字符显示。     -d 双字节十进制显示。     -o 双字节八进制显示。     -x 双字节十六进制显示。     -s 从偏移量开始输出。     -e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'。

EXAMPLE

 //单字节八进制    hexdump -b text2    0000000 110 145 154 154 157 040 127 157 162 154 144 040 041 041 041 041    0000010 041 041 041 012                                                    0000014    //双字节16进制    hexdump -x text2     0000000    6548    6c6c    206f    6f57    6c72    2064    2121    2121    0000010    2121    0a21                                                    0000014  

通过对比两个命令的结果就可以发现针对字符的查看,以及进制的转换是一致的.

id 命令

id命令可以显示真实有效的用户ID(UID)和组ID(GID).UID是对一个用户的单一标识.GID是可以对应多个UID
使用方法 id [OPTION]… [USERNAME]

OPTIONS

 -g或--group   显示用户所属群组的ID。     -G或--groups 显示用户所属附加群组的ID。     -n或--name   显示用户,所属群组或附加群组的名称。     -r或--real   显示实际ID。     -u或--user   显示用户ID。     -help   显示帮助。     -version   显示版本信息。

EXAMPLE

 //默认的    id root     uid=0(root) gid=0(root) groups=0(root)    id -g root    0  

iconv 转换文件编码 convert

用来转换文件的编码方式
使用方法 iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]…

OPTIONS

 -f encoding :把字符从encoding编码开始转换。     -t encoding :把字符转换到encoding编码。     -l :列出已知的编码字符集合     -o file :指定输出文件 如果不指定,默认输出到标准输出    -c :忽略输出的非法字符     -s :禁止警告信息,但不是错误信息     --verbose :显示进度信息     -f和-t所能指定的合法字符在-l选项的命令里面都列出来了。 

EXAMPLE

 //列举出当前支持的字符    iconv  -l     //将text2的文本以UTF-16的形式输出到标准输出    iconv -t UTF-16  text2

博客转载自曲良同学 http://www.pojun.tech

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾驶证c1扣14分怎么办 车辆被扣12分怎么办 两个违章扣12分怎么办 车辆违章扣12分怎么办 一下扣了20分怎么办 违章扣了100多分怎么办 车子累计扣12分怎么办 起诉了对方不来怎么办 在监狱里被打伤了怎么办 初三要体检没去怎么办 羁押人在看守所没判刑怎么办? 在看守所关两年了还没有判刑怎么办 开麻将馆被拘留怎么办 拘留31天了我该怎么办 收到一封拘留信怎么办 存钱的收据掉了怎么办 行政拘留法制没有批的怎么办 别人起诉我我该怎么办 去钟落潭看守所送衣服要怎么办 长城宽带账号密码忘了怎么办 预约考试密码忘了怎么办 健康证预约号忘记怎么办啊 人在看守所七个月还没结果怎么办 起诉书和判决书丢了怎么办 进了看守所信用卡逾期怎么办 公安局审讯室监控影相被删除怎么办 关进看守所以前的工作怎么办 上海初中借读生学籍怎么办 外地货北京三环怎么办 谁买了小产权怎么办 狗在小区丢了怎么办 太原回迁房多余的房子怎么办 回迁房被开发商抵押怎么办 回迁房源多开发商扣房怎么办 蝈蝈叫晚上怕吵怎么办 蝈蝈总不停的叫怎么办 按揭房没拿房产证夫妻离婚怎么办 按揭房子房产证还没有到离婚怎么办 结婚7年离婚孩子怎么办 合伙经营KTV股东意见不合怎么办 合伙生意转让意见不合怎么办