Linux之bash基础特性三

命令别名
  命令:# alias 
  定义别名:
    (1)alias 不加参数直接使用
       显示当前shell进程所有可使用的命令别名
    (2)alias NAME='VALUES' 定义命令别名
      注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,则要定义在配置文件中
        配置文件的修改生效范围
          仅对当前用户有效:~/.bashrc
          对所有用户有效:/etc/bashrc
      重新读取配置文件:source /path/to/config——file
  撤销别名
    命令:# unalias  别名名
  【note:如果别名同原命令名称相同,则如果要执行原命令,可以使用"\COMMAND" 】

glob文件(夹)通配符
    通配符:  
      *  任意长度的任意字符
      ?  任意单个字符
      []   匹配指定范围内的单个字符
          [1-9]    匹配单个数字
          [a-z]    不区分字母的大小写
          [A-Z] 匹配任意单个大写字符
      ^     匹配指定范围外的字符 
          [^]  匹配指定范围外的单个字符
      特殊字符集:       
        [:digit:]:任意数字,相当于0-9    
        [:lower:]:任意小写字母
        [:upper:]: 任意大写字母
        [:alpha:]: 任意大小写字母
        [:alnum:]:任意数字或字母
        [:space:]:匹配空格字符
        [:punct:]:标点符号
      【注意: ls /mnt/a[[:digit:]]b == ls /mnt/a*b (注意:在使用特殊字符的时候,需要加两个中括号)】

I/O重定向
  (1)理解三种输入/输出模式  
    标准输入:keyborad, 0
    标准输出:monitor, 1
    标准错误输出:monitor, 2
 
  (2)输出重定向 【>,>>】
    命令格式:# COMMAND > NEW_POS, COMMAND >> NEW_POS 
    >:覆盖重定向,目标文件中的原有内容会被清除
    >>: 追加重定向,新内容会追加至目标文件尾部
   
      # set -C: 禁止将内容覆盖输出至已有文件中
      强制覆盖:>|
      # set +C: 
 
    2>: 覆盖重定向错误输出数据流
    2>>: 追加重定向错误输出数据流

   合并标准输出和错误输出为同一个数据流进行重定向:
      &>:覆盖重定向
      &>>:追加重定向     
      COMMAND > /path/to/file.out 2> &1
      COMMAND >> /path/to/file.out 2>> &1
  (3)输入重定向 【<】,一般情况下,输入重定向只使用一个小于号
    tr命令:转换或删除字符    
      tr [OPTION]... SET1 [SET2]
      用法: tr abc  ABC  FILE
         tr  -d "abc"  FILE

管道
  语法:COMMAND1 | COMMAND2 | COMMAND3 |...
  【Note:最后一个命令会在当前shell进程的子shell进程中执行】

tee命令:【一路输入产生两路输出,但是tee是覆盖输出的】
tee [OPTION]... [FILE]...
tee命令常用参数
格式:tee
只输出到标准输出,因为没有指定文件
 
格式:tee file
输出到标准输出的同时,保存到文件file中。如果文件不存在,则创建;如果已经存在,则覆盖之
 
格式:tee -a file
输出到标准输出的同时,追加到文件file中。如果文件不存在,则创建;如果已经存在,则在源文件后面追加内容
 
格式:tee -
输出到标准输出两次;如果后面接文件,则会覆盖输出一次。
 
格式:tee file1 file2 -
输出到标准输出两次,同时保存到file1和file2中

猜你喜欢

转载自blog.csdn.net/qq_41675254/article/details/82888740