您的位置:首页 > 其它

常用命令及参数正则表达式总结

2017-07-19 10:22 267 查看
more : 当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来

cat test .log | more -5
#“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入
less: 也是对文件或其他输出显示的工具;

b <缓冲区大小> 设置缓冲区的大小-e 当文件显示结束后,自动离开-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g 只标志最后搜索的关键词-i 忽略搜索时的大小写-m 显示类似more命令的百分比-N 显示每行的行号1.实例 ps查看进程信息并通过less分页显示同时显示行号cat -n test .lognl test log less -Ngrep -n#上面给出的都可以显示行号
ps -ef|less -N



浏览多个文件:
less test2.log test.log
输入 :n后,切换到 test.log输入 :p 后,切换到test2.logps:当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件
5.附加备注1.全屏导航ctrl + F - 向前移动一屏ctrl + B - 向后移动一屏ctrl + D - 向前移动半屏ctrl + U - 向后移动半屏 2.单行导航j - 向前移动一行k - 向后移动一行 3.其它导航G - 移动到最后一行g - 移动到第一行q / ZZ - 退出 less 命令linux正则表达(BRE‘’base regular expression'')主要基于grep ;主要以行处理^是表示以^word 开头;$是表示以$word结尾grep '' ^t'' test .log :表示过滤出以t开头的内容;过滤到的内容为有颜色;可以编辑vim /etc/profilealias=grep ='grep --color =auto'source /etc/profile #永久生效

^$是表示以空行过滤;grep '' ^$'' test .log ; grep -v '' ^$'' test .log #-v 表示排除或去除grep '' !^$'' test .log #同上. 是表示代表且只能表示一个任意字符;\ 表示转义字符;保持原有的意思;* 表示重0个多个前面一个字符;不代表所有,不是linux里的通配符,
.*表示匹配所有的字符,^.*表示以任意字符开头grep -o'' 0*'' test .log # - 0 表示只是显示匹配的内容;[abc] 表示匹配字符集合内任意一个字符[a-z] [^adc] ^在中括号里表示取反。非grep '' [^0-9 ] '' oldboy .log

过滤出了有颜色的内容 {n,m}表示n次到 m次 前面的一个字符 {n,}至少n次,多了不限{,m}至多m次,少了不限
{n}n次
注意: 用grep 需要转义大括号\{\},用egrep 不需要转义啦-A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容-C<显示行数> --context=<显示行数>或-<显示行数> #除了显示符合样式的那一行之外,并显示该行之前后的内容。-B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容-a --text #不要忽略二进制的数据。 -n -- 显示内容行号-b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -c --count #计算符合样式的列数。 、-d <动作> --directories=<动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e<范本样式> --regexp=<范本样式> #指定字符串做为查找文件内容的样式。 -E --extended-regexp #将样式为延伸的普通表示法来使用。 -F --fixed-regexp #将样式视为固定字符串的列表。 -G --basic-regexp #将样式视为普通的表示法来使用。 -h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。 -H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。 -i --ignore-case #忽略字符大小写的差别。 -l --file-with-matches #列出文件内容符合指定的样式的文件名称。 -L --files-without-match #列出文件内容不符合指定的样式的文件名称。 -n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。 -q --quiet或--silent #不显示任何信息。 -r --recursive #此参数的效果和指定“-d recurse”参数相同。 -s --no-messages #不显示错误信息。 -v --revert-match #显示不包含匹配文本的所有行。 -V --version #显示版本信息。 -w --word-regexp #只显示全字符合的列。 -x --line-regexp #只显示全列符合的列。 -y #此参数的效果和指定“-i”参数相同sed 常用方法及命令;选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上

-n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内,

-f filename 则可以运行 filename 内的 sed 动作;

-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)

-i :直接修改读取的文件内容,而不是输出到终端

-p : 打印内容

sed' #boy #girl#g' test .log ;把tes.log 文件内容中的boy替换成girl ,直接修改而不是输出到屏幕加 —i 参数取出linux的iP地址;ifcongfig | grep ''inet addr ''|sed 's# ^.*r:# #g'|sed 's#BC.*$# #g'(复杂取iP)简方法:ifcongfig |sed -n 's#^.*r:\(.*\)BC.*$#\1#gp'注#如果再加个括号,用/2 取出 待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息