cat:-A-n-s,压缩空白行
moreless -M
headtail
grep,全面搜索正则表达式,并打印之egrep -> grep -E 扩展grep * 0<=次 ? 出现0或1次 a?root broot + 1<=次 a+root () .*(abc)*.* wabcv,qwabcqwe | 或者 like your liker, love your lover l(ik)|(ov)e your loverfgrep -> grep -F 快速grep-v:反向显示-i:忽略大小写-n:在匹配的结果只挑取有限范围行-An:在匹配的结果显示匹配范围外的n行
patter,模式,从文件中匹配整个模式,然后显示包含了匹配到得内容的行
元字符. grep 'r..r' /etc/passwd* 次数匹配 a*root,abroot,aaroot,aroot,root.* 匹配任意字符两次/{n/} a/{2/}root -> aaroot/{m,n/} 至少m次至多n次 a/{0,2/}root root,aaroot,aroot/{n,/} 至少n次,多则不限/(.../) love your lover love.*lover /(love/).*/1r like your liker, love your lover /(l/).*/1over^$ 空白行
grep --color=auto 'root' /etc/passwd
* r*t,rt,rrt,rrrt,t 匹配前面字符0次或任意次r/{2/}*t 中间字符出现两次r/{2,/}*t 中间字符至少出现两次
锚定符:^root 以root开头root$ 以root结尾[] 匹配括号中的字符范围的单个字符,出现一次[^] 除了范围之内的范围的单个字符/< /<root root出现在词首 roota,root/> root/> root出现在词尾 aroot,root/< /> /<root/> 确定一个词 root
如何表示以零个或多个大/小写字母开头,后跟一个非句点的字符,再跟零个或多个数字和一个换行符的行[[:alpha:]]*[^.][0-9]*
如何,精度为2的小数/<[0-9]/{1,/},[0-9]/{2/}/>
搜索正确的IP地址/(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[1-9]|2[0-4][0-9]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[0-9]|2[0-4][0-9]]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[0-9]|2[0-4][0-9]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[1-9]|2[0-4][0-9]/)
cut 用于切割文件内容cut -d-f 选取的段cut -d: -f1 /etc/passwd | grep "/<root/>"
条件测试:test expresstest 1 > 2 结果0(假)或非0(真)
echo $? 获取最后一个命令的返回值
/dev/null “黑洞” 没用的东西都可以放入其中
wc 统计-l 统计行数
sort 排序-o 输出-r 逆序-n 以数值来排序-f 忽略大小写-u 除去重复行-t 指定分段 -t:-k 指定段
uniq 去除重复的行-c 显示重复个数-u 显示不重复的行-d 显示重复的行
test expression test 1 -gt 2[expression] [1 -gt 2][[expression]] [[1 -gt 2]]-a 与 -o 或 !非
短路操作符
&&[ $B -gt $A -a $B -gt $C ] -> [ $B -gt $A ] && [ $B -gt $C ]
||
test:
整数测试:-gt-lt-ge-le-eq-ne(($A > $B))> >=
字符串测试:=!=><-z-n
文件测试:-e FILE-f-d-r-w-x-L/-h 测试一个文件是否为富含连接文件-o 测试此文件属主是否为发起命令的人-G 测试此文件属组是否为发起命令的人的组
diff/patch
diff 111 222 用222来补111diff 111 222 > 333.patch 333.patch为补丁patch 111 < 333.pach 打补丁patch -R 111 < 333.pach 补丁降级
diff:-u 输出格式不同
sed 流编辑器
sed [oprtions] 'parrern/operation' FILE-i: 修改源文件-e: 多操作-f: 引用文件修改
addr1,addr21,$p 后缀,打印ds/pattern/substitude/ g 匹配每个字符 i忽略大小写