在Linux操作系统中,操作方式与Windows和macOS存在显著差异。 用户可以同时访问图形用户界面(GUI)和命令行界面(CLI)。 虽然图形界面似乎是执行任务的简单选择,但命令行界面也具有其独特的优势。 熟练掌握重要的Linux终端命令可以显著提高工作效率。 其中,cat
命令是Linux中最常用的命令之一。 它作为coreutils软件包的一部分预安装在所有Linux发行版中,并且在所有发行版中的语法都保持一致。 在本文中,我们将通过一系列实际示例来详细介绍如何使用cat
命令。
Linux中的cat
命令详解 (2023)
在深入探讨具体示例之前,我们先来了解一下cat
命令的定义、语法和选项。 之后,我们将学习如何有效地使用cat
命令来查看单个或多个文件,合并文件,对文件内容进行排序以及其他操作。
Linux中cat
命令的作用
cat
命令代表连接(concatenate),它是每个Linux用户工具箱中不可或缺的重要命令之一。 最初,它是为UNIX操作系统开发的,后来被Linux和macOS系统采用。 此命令的主要功能在于文件管理,它允许用户创建新文件、查看文件内容、覆盖文件、合并两个或多个文件等。
如何使用cat
命令:语法和选项
在研究实际操作示例之前,我们先来了解一下Linux中cat
命令的语法。 语法结构简单明了。 用户需要根据不同的任务需求,使用合适的选项和文件名。
cat [选项] [文件名]
cat
命令常用的选项包括:
选项 | 描述 |
-n | 显示所有行的行号 |
-T | 显示文件中的制表符 |
-e | 显示文件中每一行的结尾 |
-s | 将文件结尾的多个连续空行合并为一个 |
-b | 仅显示非空行的行号 |
Linux终端中cat
命令的实例
查看单个文件
cat
命令最常见的用途是查看单个文件的内容。 你可以使用以下语法实现这个目标:
cat [选项] [文件名]
查看多个文件
通过在cat
命令后依次添加文件名,并以空格分隔(无需逗号),你也可以使用cat
命令同时查看多个文件的内容。 下面是其语法:
cat [选项] [file_1] [file_2] [file_3]
显示行号
默认情况下,cat
命令不会显示输出的文件内容的行号。 要显示行号,需要在cat
命令后添加 -n
标志:
cat -n [文件名]
使用cat
命令创建一个新文件
通常,我们会使用touch
命令来创建新文件,或者使用文本编辑器来新建和编辑文件。 显然,cat
命令并不能完全替代这些工具,但你可以使用cat
命令进行一些简单的文件编辑操作。 通过cat
命令,你可以创建一个新文件并向其中添加一些内容。 创建新文件的语法如下:
cat > [新文件名]
在这里,>
被称为覆盖操作符,用于将新内容覆盖到指定的文件。 当文件是空的时候,你写入的内容就会被直接写入到该文件中。 完成写入新文件后,按“回车键”(ENTER),然后使用“CTRL + d”组合键退出提示符。
在上述示例中,你可以看到,我们使用cat
命令创建了一个名为“test1.txt”的新文件,并且第二个cat
命令的输出显示了该文件的内容。
将两个文件合并为一个新文件
你甚至可以使用cat
命令将两个文件合并成一个文件,使用以下语法。 我们将使用追加操作符 >>
将第一个文件的内容添加到第二个文件的末尾。
cat [选项] [文件_1] >> [文件_2]
在上面的示例中,cat
命令将文件“test1.txt”的内容追加到“test2.txt”的末尾。 你可以通过第二个cat
命令的输出来验证新内容,我们在这里查看了第二个文件。
将一个文件的内容复制到另一个文件
你也可以使用cat
命令将一个文件的内容复制到另一个文件。 这里,>
操作符被用来将`file_1`的内容覆盖到 `file_2`。
cat [文件_1] > [文件_2]
在以上示例中,我们使用了覆盖操作符,将文件 “test1.txt” 的内容覆盖到了文件 “test2.txt” 中。
显示不可见字符
默认情况下,cat
命令在打印文件内容时不会标记行尾字符。 要显示行尾,可以将-E
标志与命令一起使用:
cat -E [文件名]
这会在每行的末尾标记一个“$”符号。 要打印制表符而不是四个空格,请使用 -T
标志,语法如下:
cat -T [文件名]
这会将所有制表符打印为“^I”。 要打印所有其他不可见字符,请将-v
标志与cat
命令一起使用,如下所示:
cat -v [文件名]
正如你在上面的示例中看到的,所有行尾都用“$”符号标记,制表符用“^I”字符标记。
将多个空行合并为一个
有时文件中可能会有一些你不想显示的空行。 要将多个连续的空行合并为一个空行,请将-s
标志与原始的cat
命令一起使用。
cat -s [文件名]
以相反顺序查看文件内容 (tac
命令)
通常情况下,cat
命令按照从上到下的顺序显示文件内容。 然而,在处理实时数据流或大型日志文件时,最新的数据通常会被追加到文件的末尾,因此滚动浏览大量的文本会很困难。 在这种情况下,你可以使用tac
命令,它是cat
命令的一个替代版本,可以以相反的顺序打印文件内容。 使用tac
命令的语法如下:
tac [文件名]
对文件的输出内容进行排序
在Linux系统中,你可以通过shell重定向器将两个或多个命令组合使用。 它们可以将一个命令的输出重定向到下一个命令的输入。 你可以使用覆盖操作符(>
)和追加操作符(>>
),它们也被称为I/O shell重定向器。
还有一种类型的shell重定向器,称为shell管道,用于同时执行两个或多个命令。 这意味着一个命令的输出将被作为输入重定向到下一个命令。由于命令执行遵循一个明确的结构,这种结构或概念被称为管道。 管道操作符(|
)为这些命令创建管道,以按照确定的顺序执行。
到目前为止,你一定很清楚cat
命令打印文件内容的顺序与它们存储在文件中的顺序相同。 顾名思义,sort
命令会按升序或降序对输出进行排序。 通过管道操作符将cat
命令的输出传递给sort
命令,你可以获得按照所需排序顺序排列的最终输出。 这听起来可能令人困惑和复杂,但是下面的示例将会解释清楚。 使用管道操作符将这两个命令组合使用的语法如下:
cat [选项] [文件名] | sort
在上面的示例中,cat
命令并没有直接打印文件 “test3.txt” 的内容,而是将内容传递给了排序命令,然后排序命令根据字母顺序对其进行排序,最后打印排序后的输出。
使用cat
命令查看大文件
有时,即使是配置很高的系统在显示大文件的内容时也会出现卡顿。 对于如此大的文件,你应该使用less
命令和cat
命令,并配合使用管道操作符。 由于less
命令一次只加载文件的一部分,因此不会消耗大量资源。 你可以使用箭头键向上或向下滚动以访问文件的其他部分。 将less
命令与cat
命令一起使用的语法如下:
cat [大文件名] | less
在上面的示例中,当你按照上述语法执行命令时,文件内容不会在同一终端提示符下打印出来,而是在新的终端视图中显示文件内容,如第二张图片所示。 你可以在此处使用箭头键滚动浏览文本。 要到达文本的底部,请使用“GG”命令,要到达文本的顶部,请使用“gg”命令。 要退出新的终端视图,请按“q”键。
cat
命令的实际应用
cat
命令和tac
命令的结合使用,极大地简化了习惯使用Linux终端的用户的文件管理工作。 通过选项和额外的操作符,cat
命令能够极大地帮助简化你的工作流程。 在本文中,我们分享了一些关于如何在Linux系统上使用cat
命令创建、追加和查看文件的实际示例。 如果你想了解更多关于cat
命令的信息,请访问其官方手册页。 如果你在使用此命令时遇到任何问题,请在下面的评论区告诉我们。