1、数据重定向
标准输出 :>或>>(>是写入(抹除旧的数据) >>是追加(添加数据,下面同理))
标准输入 :<或<<
错误输出 :2>或者2>>
我们考虑这个命令
shell中并不存在hahaha命令,会产生一个错误输出,所以错误信息会写入到file2
利用输入流来写入文件。
还可以用重定向来复制
2、多个命令的执行
比如我想先ll再echo ok 然后cat file3
那么命令用分号隔开。
而且是绝对按序执行的。
还有&& 和||
分别是:
cmd1&&cmd2 如果第一个失败则不执行第二个。
cmd1||cmd2 如果第一个成功则不执行第二个。
3、管道命令
cmd1|cmd2 :第一个命令的输入作为第二个的输入
4、选取
cut 就是切的意思
-d是分隔符
-f 取出第几段
-c 以字符为单位取出区间
grep 行搜索。
grep 是支持正则表达式搜索的处理
-i 不区分大小写。
-n 顺便输出行号
-v反向选择
-c计算找到次数
sort
对输出排序
不过这里要注意的是按照字典序。
uniq (unique 唯一的)
把数据去重。(必须先经过sort)
字符串统计:wc(word counter)
-l 行数
-w 单词数
-m 字符数
双向重定向:tee 一个标准的输入既能打印出来又能写入文件。
tr:删除 -d/替换 -s 一些信息
col:把tab转换为空格键
join:同行的输入相拼接
paste:把两行粘贴在一起。
expand:【tab】转换成空格
还有与各种编程字符串处理很像的split命令。
sed处理。
是一种针对行的处理
sed后面接 n1,n2 标识符
对n1-n2行进行处理
其中d删除;a新增;c替换;i插入;p打印;s替换。
而且 -i选项直接操作文件,是一个很危险的操作。
5、格式化输出
printf,这个单词超级亲切啊,就是格式化输出的意思。
用法也几乎与c语言的相同。
6,diff 文件比较,按行比较各个行的不同。(different)
cmp 按字节比较 (compare)
给出了比较结果。