cat 命令的功能是用于在终端设备上显示文件内容。在 Linux 系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少、纯文本的文件。
对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,往往看不清所显示的具体内容,只好按Ctrl+c键中断命令执行,所以对于大文件,还是要使用 more 命令。
目录
3.11 以 here doc 的方式将持续写入文件内容,直到碰到EOF中止符才会结束并保存
一、语法格式
cat [参数] 文件名
二、常用参数
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为^I符号 |
-A | 等价于”-vET”参数组合 |
三、命令实战
3.1 查看指定文件的内容
[root@linux1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.12 linux2
3.2 查看多个文件内容
[root@linux1 ~]# cat a.txt b.txt
Aaaaaa
bBbbbb
eeeeee
cccccc
aaaaaa
bbbbbb
eeeeee
cccccc
3.3 创建新文件并输入内容
执行命令后会等待用户输入,将需要写入的内容输入后,按 Ctrl+D 退出,文件内容就写进新文件了,可以使用 cat 查看到。
[root@linux1 ~]# cat > 1.txt
Hello world
[root@linux1 ~]# cat 1.txt
Hello world
3.4 查看文件内容并显示行号(空行也编号)
[root@linux1 ~]# cat -n a.txt
1 Aaaaaa
2 bBbbbb
3 eeeeee
4 cccccc
5
3.5 查看文件内容并在每行末尾加 $ 符号
[root@linux1 ~]# cat -e a.txt
Aaaaaa$
bBbbbb$
eeeeee$
cccccc$
$
3.6 查看文件内容并将 Tab 出的空格替换为 ^ 符号
[root@linux1 ~]# cat a.txt
Aaaa aa
bBb bbb
eeeeee
cccccc
[root@linux1 ~]# cat -T a.txt
Aaaa^Iaa
bBb^Ibbb
eeeeee
cccccc
3.7 将文件内容标准输出重定向到目标文件
> 符号是覆盖重定向操作符,它会将源文件内容重定向输出到目标文件,如果目标文件存在内容,将覆盖目标文件
[root@linux1 ~]# cat 1.txt > 2.txt
[root@linux1 ~]# cat 2.txt
Hello world
3.8 将源文件内容追加重定向输出到目标文件
>> 符号是追加重定向操作符,将源文件内容重定向输出到目标文件,如果目标文件存在内容,将在目标文件末尾追加内容
[root@linux1 ~]# cat 1.txt >> 2.txt
[root@linux1 ~]# cat 2.txt
Hello world
Hello world
3.9 以重定向的方式查看文件内容
[root@linux1 ~]# cat < 2.txt
Hello world
Hello world
3.10 查看文件内容并显示行号(空行不编号)
[root@linux1 ~]# cat -b a.txt
1 Aaaa aa
2 bBb bbb
3 eeeeee
4 cccccc
3.11 以 here doc 的方式将持续写入文件内容,直到碰到EOF中止符才会结束并保存
[root@linux1 ~]# cat >>1.txt<<EOF
> Hello world
> EOF
[root@linux1 ~]# cat 1.txt
today
world
Hello world