globbing:文件名通配

 匹配模式:元字符

   *:匹配任意长度的任意字符

   wKiom1ebUFKBO7RGAAAhu4-dP7I770.png

   ?:表示任意单个字符

   wKioL1ebUN-CyLiQAAAJ_yPIaLM267.png

   []:匹配指定范围内的任意单个字符

     有几种特殊模式:

     [a-z],[A-Z],[0-9],[a-z0-9]

     [[:upper:]]:所有大写字母

     [[:lower:]]:所有小写字母

     [[:alpha:]]:所有字母

     [[:alnum:]]:所有字母和数字

     [[:space:]]:所有空白字符

     [[:pucnt:]]:所有标点符号

    [^]:匹配指定范围外的任意单个字符

     [^[:upper:]]:匹配不是大写字母的

     [^0-9]:匹配不是数字的

 例:显示/var目录下以l开头,以小写字母结尾,中间跟一位任意字符的目录或文件。

    wKioL1ebXbKhTsa9AAAUNG9mXxo529.png

   显示/testdir/目录下,以任意一位数字开头,且以非数字结尾的问件或目录

     wKiom1ebXcOQ_T15AAAPUJxQHpQ489.png

   显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意的字符的文件或目录

ls -d /etc/[^[:alpha:]][[:alpaha:]]*


IO重定向及管道

 程序:指令+数据

    程序:IO

   可用于输入的设备:键盘

   可用于输出的设备:显示器

 程序的数据流有三种:

  输入的数据流:<--标准输入 ( stdin ,键盘)

  输出的数据流:-->标准输出 (stdout,显示器,准确的说是用户终端控制台),

  错误的数据流:--> 标准错误输出(stderr)是由解释器辅助的数据流

 

 fd:file descriptor,文件描述符

  标准输入:0

  标准输出:1

  错误输出:2  (不要搞错,你搞错,就很2.)


IO重定向:

  输出重定向:>

   特性:覆盖输出,wKiom1ecDhSjmuR_AAAhhqmjR-U052.png

 

   输出重定向:>>

   特性:追加输出,

   wKiom1ecEFaDsiTJAAAveEOwvxs595.png

 注意:set命令可以控制覆盖重定向,

     -C:文件存在时,禁止覆盖输出重定向e

     +C:开启覆盖重定向

    要想强制覆盖输出重定向就用: >|

   

  错误输出流重定向:2>,2>>

  合并正常输出流和错误输出流:&> &>>  (2>&1)unix血脉正统高贵兼容性强

   (1)&>, &>>

    (2)COMMAND > /path/to/somefile 2>&1

      COMMAND >> /path/to/somefile 2>&1

wKiom1ecE52AoQWRAAAZIZiZs2A024.png

wKiom1ecFFbz3Mm6AABPl7Wa2ow951.png

输入重定向:<


tr命令:删除或替换

 tr [OPTION]... SET1 [SET2]

 对位的模式

 wKiom1ecF86x3l1cAAAZXfMRKqg761.png

here Document:<<  此处文档

 cat < 显示在屏幕上

 cat < /path/to/somefile/ <<EOF 输出到文件中

管道:连接程序,实现将前一个命令的结果用作后一个命令输出;

wKioL1ecG0vxLbWpAAAPfreL1mw072.png