连接文件并打印输出到标准输出设备。cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。
关于此命令,有人认为写 cat 命令的人是因为喜欢猫,因此给此命令起名为"cat",其实不然,cat 是 concatenate(连接、连续)的简写。
cat 命令的基本格式如下:
[root@localhost ~]# cat [选项] 文件名
或者[root@localhost ~]# cat 文件1 文件2 > 文件3
这两种格式中,前者用于显示文件的内容,常用选项及各自的含义如表 1 所示;而后者用于连接合并文件。
注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头
组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。
因此,cat 命令适合查看不太大的文件。当然,在 Linux 中是可以使用其他的命令或方法来查看大文件的,我们以后再来学习。
【例 1】cat 命令本身非常简单,我们可以直接查看文件的内容。例如:
[root@localhost ~]# cat anaconda-ks.cfg
Kickstart file automatically generated by anaconda.
#version=DEVELinstallcdromlang zh一CN.UTF-8
...省略部分内容...
而如果使用 "-n" 选项,则会显示行号。例如:
[root@localhost ~]# cat -n anaconda-ks.cfg1
Kickstart file automatically generated by anaconda.234
#version=DEVEL5 install6 cdrom
...省略部分内容...
如果使用 "-A" 选项,则相当于使用了 "-vET" 选项,可以查看文本中的所有隐藏符号,包括回车符($)、Tab 键(^I)等。例如:
[root@localhost ~]# cat -A anaconda-ks.cfg
# Kickstart file automatically generated by anaconda.$
$
$
#version=DEVEL$
install$
cdrom$
...省略部分内容...
【例 2】将文件 file1.txt 和 file2.txt 的内容合并后输出到文件 file3.txt 中。
[root@localhost base]# ls
file1.txt file2.txt
[root@localhost base]# cat file1.txt
http://c.biancheng.net(file1.txt)
[root@localhost base]# cat file2.txt
is great(file2.txt)
[root@localhost base]# cat file1.txt file2.txt > file3.txt
[root@localhost base]# more file3.txt
#more 命令可查看文件中的内容
http://c.biancheng.net(file1.txt)
is great(file2.txt)
[root@localhost base]# ls
file1.txt file2.txt file3.txt