1、head命令
显示文档前面指定的区域
-n <行数>:指定显示内容的行数
-c <字符数>:指定显示内容的字符数
-v :总是显示文件名 (查看多文件的时候默认显示文件名)
-q :不显示文件 (查看多文件可以隐藏文件名)
显示前面三行
[[email protected] ~]# head -n3 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
显示前面三个字节
[[email protected] ~]# head -c3 /etc/passwd roo
显示文件名称
[[email protected] ~]# head -v -n3 /etc/passwd ==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
同时显示多个文件的前面三行
[[email protected] ~]# head -v -n3 /etc/passwd /etc/my.cnf ==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ==> /etc/my.cnf <== [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
2、tail命令
显示文档后面指定的区域
-n <行数>: 显示文件尾部行数(查看多文件默认显示文件名)
-q: 查看多文件内容时,不显示文件名
-f: 显示追加的内容,监视文件的变化
显示尾部三行
[[email protected] ~]# tail -n3 /etc/passwd ntp:x:38:38::/etc/ntp:/sbin/nologin coremail:x:500:500::/home/coremail:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
实时更新messages内容到屏幕
[[email protected] ~]# tailf /var/log/messages Feb 18 05:39:02 app rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="895" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
3、wc 命令
-l:统计文件行数
-c: 统计文件字节数
-m:统计文件字符数
-L:计算文件中最长行的长度
[[email protected] ~]# wc -l /etc/passwd 23 /etc/passwd
[[email protected] ~]# wc -m /etc/passwd 1037 /etc/passwd
[[email protected] ~]# wc -c /etc/passwd 1037 /etc/passwd
[[email protected] ~]# wc -L /etc/passwd 68 /etc/passwd
4、cut命令
-b <起始字节位置-结束字节位置>:仅显示指定的字节范围的内容
-c <起始字符位置-结束字符位置>:仅显示指定的字符范围的内容
-d <字段分隔符>:指定字段分隔符,默认是"tab"
-f <起始字段位置-结束字段位置>:显示指定的字段内容(和-d连用)
-n : 与-b连用,不分割多字节字符
-s : 不显示未包含分隔符的行
--output-delimiter :指定输出内容的字符分隔符
显示每行2-10个字节
[[email protected] ~]# head -n3 /etc/passwd |cut -b 2-10 oot:x:0:0 in:x:1:1: aemon:x:2
显示每行2-10个字符
[[email protected] ~]# head -n3 /etc/passwd |cut -c 2-10 oot:x:0:0 in:x:1:1: aemon:x:2
使用指定分隔符,显示第一列
[[email protected] ~]# head -n3 /etc/passwd |cut -d: -f1 root bin daemon
同上
[[email protected] ~]# head -n3 /etc/passwd |cut -d":" -f1 root bin daemon
使用指定分隔符,显示1,2,3列
[[email protected] ~]# head -n3 /etc/passwd |cut -d : -f1,2,3 root:x:0 bin:x:1 daemon:x:2
使用自定义的分隔符,显示1,2,3列
[[email protected] ~]# head -n3 /etc/passwd |cut -d : -f1,2,3 --output-delimiter="+" root+x+0 bin+x+1 daemon+x+2
5、sort命令
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o <输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t <分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
-u 去处重复
[[email protected] ~]# sort -u a.log filesystem-2.4.30-3.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 setup-2.8.14-20.el6_4.1.noarch xml-common-0.6.3-32.el6.noarch
-r 倒序排列
[[email protected] ~]# sort -r a.log xml-common-0.6.3-32.el6.noarch setup-2.8.14-20.el6_4.1.noarch libgcc-4.4.7-4.el6.x86_64 filesystem-2.4.30-3.el6.x86_64
-n 使用数值排序
[[email protected] ~]# sort -n a.log filesystem-2.4.30-3.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 setup-2.8.14-20.el6_4.1.noarch xml-common-0.6.3-32.el6.noarch
-k 指定字段排序(需要和-t配合使用)
[[email protected]pp ~]# sort -n -k 2 -t ‘-‘ a.log xml-common-0.6.3-32.el6.noarch filesystem-2.4.30-3.el6.x86_64 setup-2.8.14-20.el6_4.1.noarch libgcc-4.4.7-4.el6.x86_64
6、uniq命令
-c :在行首显示重复的次数
-d :只显示重复的内容,重复的行只输出一次
-D :只显示重复的内容,重复所有内容
-i : 忽略大小写
-u :只显示不重复的行
在行首显示重复的次数
[[email protected] ~]# sort abc |uniq -c 2 a 1 A 2 aaa 1 b 1 bbb 1 ccc
忽略大小写
[[email protected] ~]# sort abc |uniq -ic 3 a 2 aaa 1 b 1 bbb 1 ccc
[[email protected] ~]# sort abc |uniq -d a aaa
[[email protected] ~]# sort abc |uniq -D a a aaa aaa
只显示不重复的行
[[email protected] ~]# sort abc |uniq -u A b bbb ccc