3.bash的快捷方式
crtl+l: 清屏
crtl+a 跳转至命令开始处
crtl+e 跳转命令结尾处
ctrl+c 取消命令执行
ctrl+u 删除命令行首至光标所在处的所有内容。
ctrl+k:删除光标所在处至命令行尾部的所有内容。
4.bash的I/O重定向及管道
程序:指令+数据
读入数据:input
输出数据:output
标准输入:keyborad,0
标准输出:monitor,1
标准错误输出:moitor,2
输出重定向:COMMNA > NEW_POS,COMMAN >> NEW_POS
覆盖重定向:目标文件中原有内容会被消除。
追加重定向:新内容会追加至目标文件尾部。
#set -C:禁止将内容覆盖输出至已有文件中;
强制覆盖:>
#set +C:取消
2>:覆盖重定向错误输出数据流;
2>>:追加重定向错误输出数据流;
标准输出和错误输出定向至不同位置
COMMAD > /path/to/file.out 2> /path/to/error.out
合并标准输出和错误输出为同一个数据流进行重定向;
&>:覆盖重定向
&>>:追加重定向
COMMAND > /path/to/file.out 2> &1
COMMAND >> /path/to/file.out 2>> &1
输入重定向
tr命令:转换或删除字符
tr [option]...set1 [set2]
tr abc ABC 同位对应,把a转换成A.
此处生成文件:<<
#cat << eof 在屏幕中输出,直到输入eof结束
管道:
COMMAND1 | COMMAND2 | COMMAND3 | ....
注意:最后一个命令是在当前shell进程的了shell进程中执行。
tee [option] file...:
一条输入,两方输出。
ls /etc | tee /tmp/file.txt 先输出一份到屏幕,再保存一份到file.txt内。
文本处理工具:
wc,cut,sort,uniq
wc命令:计数命令
wc [option]…[file]..
-l:lines 只例出行数
-w:words 只例出例数
-c:characters 只例出字符数
cut命令:切割
cut [option]….file…
-d:指明分隔符
-f:
#:第#个字段
#,#:离散的多个字段,例如,1,3,4
#-#:连续的多个字段,例如1-5
混合使用:1-3,7
sort命令:
sort [option] ...[file]...
-f:忽略字符大小写
-r:逆序
-t:字段分隔符
-k #:以指定字段为标准排序。
-n:以数值大写排序
uniq:去重
uniq:命令
uniq [option]...[file]..
-c:显示重复出现的次数
-d:只显示重复过的行
-u:仅显示不曾重复的行