一、Bash的常用快捷键

  Ctrl+L:清空当前屏幕,相当于clear

  Ctrl+a:光标跳至命令行的首部

  Ctrl+e:光标跳至命令行的尾部

  Ctrl+u:删除光标到命令行首部的所有字符

  Ctrl+k:删除光标到命令行尾部的所有字符


二、Bash的重定向

   1.概念

    程序由指令+数据组

    默认输入(input):键盘,可以改变默认输入的位置

    默认输出(output):屏幕,可以改变默认输出的位置

    文件描述符(file descriptor,fd),系统打开文件里都会给它分配一个文件描述符

    标准输入:0

    标准输出 :1

    标准错误输出:2


   2.重定向

    输出重定向:改变标准输出默认方式(默认为键盘)

    command > new_pos,commnad >> new_pos

    >:覆盖式重定向,1>为正确数据流输出,2>为错误数据注输出,原有文件里的内容会被清理掉

    >>:追加式重定向,1>为正确数据流输出,2>为错误数据注输出,内容会加到文件尾部

    &>、&>>:正确错误数据流都合并、追加到一个文件里

    2>&1,2>>&1跟&>、&>>效果一样,合并数据流


  3.set

     set -C:>禁止覆盖原有文件的内容(当前bash有效)

     set +C:>可以覆盖原有文件的内容(默认配置)

  3.输入重定向

     here document

     cat << EOF

     cat > /tmp/fstab.txt << EOF


三、Bash的管道

   1.tr  'a-z' 'A-Z'

IO重定向、管道及文本处理工具_bash

  2.tr  -d 'a'

IO重定向、管道及文本处理工具_bash_02

  3.wc

    -l:统计行数

    -c:统计字符数

    -w:统计单词

IO重定向、管道及文本处理工具_重定向_03

  3.cut

     -d:字段分隔符

     -f:filed

         #:第#个字段

        #,#:离散的多个字段

        #-#:连续的多个字段

    cut -d: -f1-3,7 /etc/passwd,表示显示第1,2,3,7个字段

     --output-delimiter:输出时可以自己指定分隔符,可以-d指定的不一样

IO重定向、管道及文本处理工具_bash_04


4.sort:

    -t:字段分隔符

    -f:忽略大小写

    -r:逆序

    -k:指定字段为标准排序

    -n:按数值排序

    -u:排序后去重


5.uniq:

    -c:显示重复行的出现次数

    -d:只显示重复过的行

    -u:不显示重复过的行

  Note:连续且完全相同为重复!