cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。
关于此命令,有人认为写 cat 命令的人是因为喜欢猫,因此给此命令起名为“cat”,其实不然, cat 是 concatenate(连接、连续)的简写。
cat 命令的基本格式如下:
[root@localhost ~]# cat [选项] 文件名 或者 [root@localhost ~]# cat 文件1 文件2 > 文件3
这两种格式中,前者用于显示文件的内容,常用选项及各自的含义如表 1 所示;而后者用于连接合并文件。
选项 | 含义 |
---|---|
-A | 相当于 -vET 选项的整合,用于列出所有隐藏符号; |
-E | 列出每行结尾的回车符 $; |
-n | 对输出的所有行进行编号; |
-b | 同 -n 不同,此选项表示只对非空行进行编号。 |
-T | 把 Tab 键 ^I 显示出来; |
-V | 列出特殊字符; |
-s | 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。 |
注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头
组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。
因此,cat 命令适合查看不太大的文件。当然,在 Linux 中是可以使用其他的命令或方法来查看大文件的,我们以后再来学习。
【例 1】cat 命令本身非常简单,我们可以直接查看文件的内容。例如:
[root@localhost ~]# cat anaconda-ks.cfg # Kickstart file automatically generated by anaconda. #version=DEVEL install cdrom lang zh一CN.UTF-8 …省略部分内容...
而如果使用 "-n" 选项,则会显示行号,例如:
[root@localhost ~]# cat -n anaconda-ks.cfg 1 # Kickstart file automatically generated by anaconda. 2 3 4 #version=DEVEL 5 install 6 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://www.gamecolg.com(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://www.gamecolg.com(file1.txt) is great(file2.txt) [root@localhost base]# ls file1.txt file2.txt file3.txt