管道命令在Linux中十分有用,管道命令操作符是“|”,它能将经由前一个命令输出的标准输出,作为管道后一个命令的标准输入。
1、grep命令
grep是一个文本搜索工具,用于在文本或标准输入中查找指定的匹配,并输出到标准输出上。
一般格式:
grep [选项] 模式 [文件…]
常用选项:
-E, –extended-regexp :将查找模式解释成扩展的正则表达式。
-F, –fixed-strings :将查找模式解释成单纯的字符串。
-c, –count :只是输出文件中匹配的行的总数
-i, –ignore-case :忽略大小写。
-n, –line-number :输出时加上行号。
-r, –recursive :以递归方式查询目录下的所有子目录中的文件。
-v, –invert-match :只显示不包含匹配的行。
举例:
1)查找是否安装过httpd
# rpm -qa | grep httpd
2)在hi.txt中查找字符串Hello
# grep ‘Hello’ hi.txt
或
# cat hi.txt | grep ‘Hello’
2、cut命令
cut命令用于截取字符串,显示到标准输出上。
一般格式:
cut [选项]… [文件]…
常用选项:
-b, –bytes=LIST :以字节为单位。
-c, –characters=LIST :以字符为单位。
-d, –delimiter=DELIM :表示分隔符,默认情况下为TAB。
-f, –fields=LIST :以字段为单位。
截取范围:
N :只有第N项
N- :从第N项一直到行尾
N-M :从第N项到第M项(包括M)
-M :从一行的开始到第M项(包括M)
– :从一行的开始到结束的所有项
举例:
1)找出passwd中的所有用户名
# cat /etc/passwd | cut -d ‘:’ -f1
root
bin
daemon
adm
lp
…
smmsp
sshd
apache
rpc
pcap
nscd
rpm
named
或
# cut -d ‘:’ -f1 /etc/passwd 一样效果。
2)查看vps上有哪些IP ssh登陆失败,并计算次数
# lastb | cut -c 23-38 | uniq -c
9 213.229.124.66
6 178.162.239.192
1 121.9.245.177
8 147.213.138.201
11 119.161.208.37
61 220.225.70.251
6 123.30.108.208
3 h-sys.biz
7 220.225.70.251
6 61.111.18.25
…
3、sort命令
sort命令用于将文件内容排序,显示到标准输出上。排序是根据某个或多个关键字进行排序。
一般格式:
sort [选项]… [文件]…
常用选项:
-b, –ignore-leading-blanks :忽略每行前面开始出的空格字符和制表符。
-c, –check :检查文件是否已经按照顺序排序。
-d, –dictionary-order :排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f, –ignore-case :忽略大小写。
-i, –ignore-nonprinting :排序时,除了040至176之间的ASCII字符外,忽略其他的非打印字符。
-m, –merge :将几个排序好的文件进行合并。
-M, –month-sort :规定月份的比较次序是(未知)http://fhqdddddd.blog.163.com/blog/static/1869915420112141191453/
http://xu020408.blog.163.com/blog/static/265489200972585911657/