0404 第十次课:shell基础(下)

1、shell特殊符号

  • shell中的一些特殊符号:html

    *:表示任意个任意字符linux

    ?:表示任意单个字符shell

    #:表示注释字符ui

    \ :表示脱义字符.net

    |:表示管道符3d

2、cut命令

  • cut命令是用来分割code

    用法: cut -d 指定分隔符 -f 指定段号 -c 指定第几个字符server

  • 示例:htm

    一、 以":"分割,截取passwd文件的第一段blog

    cat /etc/passwd |cut -d ":" -f 1

    二、截取pass文件第一行

3、sort命令

  • sort命令是用来进行排序

    用法:sort -n 以数字进行排序 -r 反序 ,-t 分隔符(通常不使用)

  • 注意点:

    sort默认的排序是按ascii码进行排序

    sort通常和uniq结合起来使用

    如何按照数字排序那么特殊符号和字母大小默认认为是0

  • 示例:

    一、不加参数,默认是ascii码进行排序

    二、以数字进行排序,字母和特殊符号会被认为是0,因此字母和特殊符号都在数字之上

    三、反序

4、wc命令

  • wc命令是用来统计

    用法:wc -l 统计行数 -m统计字符数 -w 统计词数

    示例:

    一、统计行数

    二、统计字符数

    三、统计词数

5、uniq命令

  • uniq命令是用来去重的,通常都是结合sort来进行使用。

    用法:uniq -c 统计重复行数

  • 示例:

    一、去重

    二、统计重复行数

6、tee_tr_split命令

  • tee命令

    tee命令和输出重定向(>)相似,不一样的是tee会把重定向的内容打印到屏幕。tee也支持追加,加个-a参数便可。

    示例:

  • tr命令

    tr命令用于替换字符

    示例:

    一、替换字母

    二、替换全部的字母

  • split命令

    split命令用于切割,能够把一个大文件切割为小文件。

    用法:split -b 按照大小进行切割,默认单位为字节。 -l 指定行数进行切割

  • 示例

    首先生成一个大一点的文件

    find /etc -name "*.cnf" -exec cat {} >> 01.txt \;

    一、按照100k 大小进行分割,若是不指定名称系统会默认生成文件名。

    split -b 100k 01.txt

    二、指定文件名

    split -b 100k 01.txt wxy

    三、指定行数分割

    split -l 10000 01.txt

7、shell特殊符号下

  • $:变量前缀

  • !$:正则中表示行尾

  • ; :多条命令写到一行 用";"分割

    以下:同时执行ll和统计命令

  • ~:用户家目录,正则中表示匹配符

  • &:放在命令后门表示后台执行

  • ">":正确重定向

  • ">>":追加剧定向

  • 2> :错误重定向

  • 2>> :错误追加剧定向

  • &> : 正确错误同时重定向

  • []:指定字符中的一个,如[0-9],[a-zA-z]

  • || && 用在命令之间。||表示若是前面命令执行成功则不会执行后面的,&&表示前面的命令执行成功才会执行后面的命令

    示例:

    || 前面ll命令执行成功后,后面wc命令则不会执行

    判断一个目录是否存在,若是不存在则建立

    [ -d wxy ] || mkdir wxy

    -d 是判断一个目录是否存在

    改成&&就会报目录已存在

8、扩展内容

相关文章
相关标签/搜索