首页 > 代码库 > linux cat,tac,more,less,head,tail,cut,sort,uniq,wc,tr命令的使用

linux cat,tac,more,less,head,tail,cut,sort,uniq,wc,tr命令的使用

cat:连接并显示,比如:

[root@localhost ~]# cat /tmp/sort.test 
111
324
567
324
890
890
567
abc

加上选项-n会显示行号:

[root@localhost ~]# cat -n /tmp/sort.test
     1111
     2324
     3567
     4324
     5890
     6890
     7567
     8abc

加上-E选项会显示行尾符$:(linux中行尾符是$)

root@localhost ~]# cat -E /tmp/sort.test
111$
324$
567$
324$
890$
890$
567$
abc$

tac与cat同义,但是显示与其反向:

[root@localhost ~]# tac /tmp/sort.test 
abc
567
890
890
324
567
324
111

more和less命令用于分屏查看文件,不同的是more命令查到文本到尾部后无法会看,less可以,所以一般使用less,可以用less /etc/rc.d/rc.sysinit打开文件测试。操作方法:

空格:往后翻一屏;

B键:往前翻一屏;

回车:往后显示一行;

K键:往前退一行;

head命令:查看文件的前几行,默认前10行:
[root@localhost ~]# head /tmp/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
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:

带参数-n显示前n行:

[root@localhost ~]# head -5 /tmp/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
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost ~]#

tail与head使用方法一样,只是显示的是尾部几行。

但是tail有一个有用的选项:-f,打开文件不退出,实施监控文件的尾部输入或者添加的新内容。

(可以使用xshell打开两个终端自行测试。)


cut:

cut一般结合选项使用:

cut -d : -f 3 /etc/passwd

说明:-d :意思是以“:”为分隔符,-f 3意思是显示以“:”为分隔符的第三列;


sort:对文件内容中的各行进行排序,其常用选项有-r -t -k;

    -r是逆向排序,-t指定分隔符,-k以某个位置为key进行排序:

sort -t : -k 3 /tmp/passwd,意思是以“:”为分隔符的第三列为key对所有行进行排序;


uniq:显示或者忽略显示重复行,注意只有相邻且一样的行才认为是重复行,比如sort.test文件内容为:

[root@localhost ~]# cat /tmp/sort.test 
111
324
567
324
890
890
567
abc

使用uniq命令可以看到原本有的行“890”被忽略显示了:

[root@localhost ~]# uniq /tmp/sort.test
111
324
567
324
890
567
abc

-d:只显示重复的行

[root@localhost ~]# uniq -d /tmp/sort.test
890

-D:显示所有重复的行

[root@localhost ~]# uniq -D /tmp/sort.test
890
890
-c显示行重复的次数
[root@localhost ~]# uniq -c /tmp/sort.test
      1 111
      1 324
      1 567
      1 324
      2 890
      1 567
      1 abc


wc命令:显示文件的行数,单词数,位数

[root@localhost ~]# wc /tmp/sort.test
 8  8 32 /tmp/sort.test

选项:-l只显示行数,-c只显示位数,-w只显示单词数;


tr命令:转换或者删除字符;

比如tr cd CD:

[root@localhost ~]# tr cd CD
abcd
abCD

在此输入模型下可以按(Ctrl+c)终止命令。


tr a-z A-Z:

[root@localhost ~]# tr a-z A-Z
abcd
ABCD

tr -d a:(-d删除指定字符)

[root@localhost ~]# tr -d a
abcd
bcd


linux cat,tac,more,less,head,tail,cut,sort,uniq,wc,tr命令的使用