Cat命令(concatenate的缩写)是Linux操作系统中使用最广泛的命令行实用工具之一。它是一个标准的Linux实用程序,用于查看文件的内容,而不需要在任何文本编辑器中打开它。cat命令的另一个主要用法是将多个文件串联到一个文件中。在Linux中还有其他几种cat命令的用法,我们将在本文中讨论这些用法,以便您了解它在不同场景中的工作方式。
以下是cat命令的一些基本功能:
- 显示文件内容
- 创建新文件
- 合并文件
- 复制文件内容
注意,我们使用Ubuntu 18.04 LTS操作系统来演示本文中提到的命令和过程。
基本语法
使用Cat命令的基本语法是:
$ cat [option] [filename]…
如果您在包含文件的同一目录中,请使用上面的命令。否则,如果你在其他目录下,请按如下说明该文件的路径:
$ cat [option] [path/to/file]…
显示文件内容
cat命令最常见和最基本的用法是显示文件内容。 为了将文件内容显示到终端,只需键入cat和文件名,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat linuxmi.txt
一个示例是显示 /etc/hostname文件的内容。 在这种情况下,命令将是:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname
显示所有文件的内容
要显示当前目录中的所有文件,请在cat命令中使用通配符,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat *
要仅显示目录中文本文件的内容,请输入以下命令:
[linuxmi@linux:~/linuxmi迷]$ cat *.txt
一次显示多个文件
您还可以使用cat命令在终端中组合并显示多个文件的内容。 要同时显示多个文件,请使用以下语法:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname /etc/resolv.conf linuxmi1.txt
一个示例是在终端中查看所有三个文件/etc/hostname、/etc/resolv.conf、linuxmi1的输出,如以下屏幕快照所示:
将一个文件的输出复制到另一个文件
它还可以用于将一个文件的输出复制到另一文件。如果目标文件不存在,它将首先创建它,否则将覆盖目标文件。
要将源文件的输出复制到另一个文件,请使用以下语法:
$ Cat [源文件] > [目标文件]
例如,将一个linuxmi1.txt的输出复制到另一个名为linuxmi2.txt的文件中,如下所示:
$ cat linuxmi1.txt > linuxmi2.txt
此命令将首先创建文件linuxmi2.txt,然后将linuxmi1.txt的内容复制到该文件。
将文件输出附加到另一个文件
除了在上面的示例中覆盖目标文件的输出外,还可以使cat命令附加输出。以下语法可用于此目的:
$ cat [源文件] >> [目标文件]
如果目标文件尚不存在,它将创建目标文件,否则将附加输出。
将多个文件复制到另一个文本文件/拼接文件
cat命令的另一个主要用途是可以将多个文件拼接为一个文件。可以使用以下语法来拼接linuxmi1,linuxmi2和linuxmi3并将它们保存到另一个名为linuxmi4.txt的文件中。
$ cat [linuxmi1] [linuxmi2] [linuxmi3] > [linuxmi4]
例如,我们要将/etc/hostname、/etc/resolv.conf和/etc/hosts文件的输出连接到另一个名为linuxmi.txt的文件。以下命令可用于此目的:
$ cat /etc/hostname /etc/resolv.conf /etc/hosts > linuxmi.txt
在文件中显示行号
要显示文件输出的行号,只需使用–n标志即可:
$ cat -n linuxmi.py
表的文件,则可以使用–n标志显示带有数字的项目。请记住,空行也已编号,如以下屏幕截图所示:
如果您不想给空行编号,请使用–b标志,如下所示:
$ cat –b linuxmi.py
建立档案
您还可以使用cat命令创建文件。以下语法可用于此目的:
$ cat > linuxmi
输入上述命令后,输入要存储在文件中的文本。完成后,使用Ctrl + D保存并退出。之后,可以在终端中执行以下命令来查看新创建文件的内容:
$ cat linuxmi
如下图:
排序输出
您还可以将sort与cat命令结合使用,以按字母顺序对输出进行排序,如下所示:
$ cat linuxmi | sort
同样,在有多个文件的情况下,可以按字母顺序将输出连接到一个文件中:
$ cat [linuxmi1] [linuxmi2] | sort > [linuxmi3]
删除连续的空行
有时文件包含您不想打印的连续的空行。 Cat命令允许合并那些连续的空行,并将它们显示为一个空行。
使用以下命令语法删除重复的空行:
$ cat –s [linuxmi]
例如,我们有以下文件,其中包含连续的空行。
通过使用-s标志,您将看到区别。
显示制表符
$ cat –t [linuxmi]
使用-t选项可以显示的查看内容中哪些地方使用了tab制表符,有制表符的地方会显示为^I
打印文件输出
cat命令的另一种流行用法是在文档的打印内容中。例如,要将文件的输出打印到名为/dev/lp的打印设备上,将使用以下语法:
$ cat [linuxmi] > /dev/lp
在本文中,我们通过各种示例说明了如何在Linux中使用cat命令来操作文件。 Cat命令的语法简单且提供了很多选项,因此在所有用户中都很流行。使用此cat命令即可创建和查看文件,合并,复制和附加文件内容,打印以及更多其他操作。
更多Linux命令相关信息见Linux命令大全 专题页面 http://www.info110.com/topicnews.aspx?tid=16