Linux cat令:连接文件并打印输出到标准输出设备

1年前 (2024-04-27)
cat 令可以用来显示文本文件的内容(类似于 DOS 下的 type 令),也可以把几个文件内容附加到另一个文件中,即连接并文件。

关于此令,有人认为写 cat 令的人是因为喜欢猫,因此给此令起名为“cat”,其实不然,cat 是 concatenate(连接、连续)的简写。

cat 令的基本格式如下:

[root@localhost ~]# cat [选项] 文件名
或者

[root@localhost ~]# cat 文件1 文件2 > 文件3

这两种格式中,前者用于显示文件的内容,常用选项及各自的含义如表 1 所示;而后者用于连接并文件。

表 1 cat 令常用选项及含义

选项

含义

-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://c.biancheng网站站点" rel="nofollow" />