Linux基本命令――cat、rev、head、tail

时间:2021-10-30 17:08:35

cat文件查看

 

语法:

cat [OPTION]... [FILE]...

 

说明:

cat命令可以查看文本内容,也可以连接多个文本内容,相当于windowstype命令。

 

注意:

当从键盘接收用户的输入时,当要删除输入的内容时,需要借助ctrl+backspace来删除;按ctrl+c结束输入,输出的内容连同提示符会显示在下一行,ctrl+d也可以结束输入,按一次时为结束一次输入,按两次时为结束所有输入,输出的内容连同提示符会显示在同一行。

当文件较大时,文本在屏幕上迅速闪过(滚屏),往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

 

选项:

-A: 显示所有控制符,行尾显示$”,等价于-vET

-b: 非空行编号,包括空格行

-e: 等价于-vE

-E: 显示行结束符$

-n: 对显示出的每一行进行编号

-s:压缩连续的空行成一行

-t:  等价于-vT

-T: 显示制表符特殊符号 ^I

 

示例:

查看文件内容

[root@localhost ~]$ cat -A a

234$

 linux$

$

$

 shell $

         $

^Ifff^I^I$

[root@localhost ~]$ cat -b a

     1234

     2 linux

 

 

     3 shell

     4         

     5fff

[root@localhost ~]$ cat -e a

234$

 linux$

$

$

 shell $

         $

fff$

[root@localhost ~]$ cat -E a

234$

 linux$

$

$

 shell $

         $

fff$

[root@localhost ~]$ cat -n a

     1234

     2 linux

     3

     4

     5 shell

     6         

     7fff

[root@localhost ~]$ cat -s a

234

 linux

 

 shell

         

fff

[root@localhost ~]$ cat -t a

234

 linux

 

 

 shell

         

^Ifff^I^I

[root@localhost ~]$ cat -T a

234

 linux

 

 

 shell

         

^Ifff^I^I

[root@localhost ~]$ cat -u a

234

 linux

 

 

 shell

         

fff

[root@localhost ~]$ cat -v a

234

 linux

 

 

 shell

         

fff

 

接收用户从键盘的输入

[root@localhost ~]$ cat

welcom

welcom

^C    #

[root@localhost ~]$ cat

123456123456333333[root@localhost ~]$

 

将输入的内容重定向到文件

[root@localhost ~]$ cat > ab  #在输入重定向并回车后,文件就已经生成

abcdefg    #在输入完每一行内容后并回车,该内容就被写入到文件

123456

fffff       #按ctrl+c或者ctrl+d结束输入

[root@localhost ~]$ cat ab

abcdefg

123456

fffff

 

连接多个文件

[root@localhost ~]$ cat a

123456

[root@localhost ~]$ cat b

abcdef

[root@localhost ~]$ cat a b > e

[root@localhost ~]$ cat e

123456

abcdef


 

tac:从最后一行开始反序显示文件内容


语法:

tac [OPTION...] [FILE]...

 

说明:

tac命令用于将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示,tac是cat的反向显示;也可以连接多个文件,并将其内容反序输出到标准输出设备。

如果只执行tac或使用“-”,则tac命令会从标准输入设备读取数据,然后在把所得到的数据反序输出至输出设备。

 

选项:

    -a:或--append,将内容追加到文件的末尾;

    -i:或--ignore-interrupts,忽略中断信号。

    -b:或--before,在行前面而非行尾添加标志

    -r:--regex,将分隔标志视作正则表达式来解析

    -s<字符>:--separator<间隔字符>使用指定字符串代替换行作为分隔标志


示例:


反序列出文件的内容

[root@localhost testdir]# cat test

1234566

abcdeff

 hello

[root@localhost testdir]# tac test#反序显示

 hello

abcdeff

1234566

 

将键盘所输入的数据反序输出

[root@localhost testdir]# tac

1st line 123456

2nd line abcdef

2nd line abcdef

1st line 123456

 

test文件内容反序输出至打印机

[root@localhost testdir]# tac test | lpr


 

rev从每行最后一个字符反序显示文件内容

 

语法:

rev [options] [file ...]

 

说明:

rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。

 

示例:

[root@localhost testdir]# cat test

12345

abcde

78901

[root@localhost testdir]# rev test

54321

edcba

10987

 


head显示文件前几行内容


语法:

head [OPTION]... [FILE]...

 

说明:

默认显示前10行的内容,如果不加任何选项和参数,表示从标准输入中读取

 

选项:

    -c #: 指定获取前#字节

    -n #: 指定获取前#

    -#: 指定行数

    -v:总是显示文件名的头信息

    -q:不显示文件的头信息

 

示例:

[root@localhost testdir]# head -2 test  

12345

abcde

 


tail显示文件后几行的内容


语法:

tail [OPTION]... [FILE]...

 

说明:

    默认显示后10行的内容,如果不加任何选项和参数,表示从标准输入中读取

 

选项:

-c #: 指定获取后#字节

-n #: 指定获取后#

-#

-f: 跟踪显示文件新追加的内容,常用日志监控

-v或――verbose:当有多个文件参数时,总是输出各个文件名;

--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令

-q或――quiet或――silent:当有多个文件参数时,不输出各个文件名;

 

示例:

[root@localhost testdir]# tail -2 test

abcde

78901


本文出自 “Linux路上” 博客,请务必保留此出处http://dreamlinuxc.blog.51cto.com/5733156/1845027