如果您使用的是 Linux 计算机,则操作与 Windows 和 macOS 有很大不同。 您将同时获得图形用户界面和命令行界面。 虽然 GUI 似乎是执行操作的简单选择,但 CLI 确实有其自身的优势。 如果您精通所有重要的 Linux 终端命令,您可以立即完成工作。 Linux 上最常用的命令之一是 cat 命令。 它作为 coreutils 包的一部分预安装在所有 Linux 发行版上,并且所有发行版的语法都相同。 也就是说,我们将在本文中通过一些实际示例展示如何使用 cat 命令。
Linux 中的 cat 命令:详解 (2023)
在查看示例之前,让我们了解什么是 cat 命令及其语法和选项。 然后,我们将学习如何有效地使用 cat 命令来查看单个或多个文件、合并文件、对文件进行排序等等。
Linux 中的 cat 命令是什么
cat 命令代表连接,它是每个 Linux 用户工具箱中最重要的命令之一。 它最初是为 UNIX 操作系统制作的,但后来被 Linux 和 macOS 改编。 该命令的主要目的是文件管理,它使用户能够创建新文件、查看文件内容、覆盖文件、合并两个或多个文件等。
如何使用 cat 命令:语法和选项
在深入研究一些实际示例之前,让我们先看看 Linux 中 cat 命令的语法。 语法简单明了。 这是语法,您需要根据要执行的任务使用一个选项和文件名。
cat <选项> <文件名>
与 cat 命令一起使用的一些常见选项是:
选项描述-n显示所有行的行号-TS显示文件中的每个制表符-e显示文件中每一行的结尾-s将文件结尾的连续空行合并为一个-b只显示非空行
Linux 终端中的 cat 命令示例
查看单个文件
cat 命令最常见的用法是查看单个文件。 您可以使用以下语法使用 cat 命令查看单个文件:
cat <选项> <文件名>
查看多个文件
通过一个接一个地添加文件名,以空格分隔且没有任何逗号,您还可以使用 cat 命令查看多个文件。 检查以下语法:
cat <选项>
显示行号
默认情况下,cat 命令不显示它输出的文件内容的行号。 要显示行号,请在 Linux 中将 -n 标志与 cat 命令一起使用:
cat -n <文件名>
使用 cat 命令创建一个新文件
一般我们使用touch命令来新建文件,或者使用文本编辑器来新建和编辑文件。 很明显,cat 命令不能替代这些工具,但是你可以使用 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 命令以自上而下的格式显示文件内容。 但是,在存储一些实时流数据或查看一些大型日志文件时,最新数据会附加在最后,并且很难滚动浏览巨大的文本块。 在这种情况下,您可以在 Linux 中使用 tac 命令,这是 cat 命令的替代版本,它以相反的顺序打印文件内容。 使用 tac 命令的语法是:
tac <文件名>
对文件的输出内容进行排序
在 Linux 中,您可以在 shell 重定向器的帮助下组合两个或多个命令。 它们将一个命令的输出重定向到下一个命令的输入。 您可以使用覆盖运算符 (>) 和追加运算符 (>>),它们被称为 I/O shell 重定向器。
还有第二种类型的 shell 重定向器,称为 shell 管道,用于同时运行两个或多个命令。 这意味着一个命令的输出将作为输入重定向到下一个命令。 由于命令执行遵循明确的结构,因此这种结构或概念被称为管道。 管道运算符 ( | ) 为这些命令创建管道以按确定的顺序执行。
到目前为止,您一定很清楚 cat 命令打印文件内容的顺序与它们存储在文件中的顺序相同。 顾名思义,sort 命令按升序或降序对输出进行分类。 但是通过管道运算符将 cat 命令的输出发送到 sort 命令,您可以获得按所需排序顺序排列的最终输出。 这听起来可能令人困惑和复杂,但下面的示例将清除所有内容。 使用管道运算符使用这两个命令的语法是:
cat <选项> <文件名> | 种类
在上面的示例中,cat 命令没有打印文件“test3.txt”的内容,而是将内容发送给排序命令,然后排序命令根据字母顺序对其进行排序,最后打印排序后的输出。
使用 cat 命令查看大文件
有时,即使是规格很高的系统在显示大文件的内容时也会卡顿。 对于如此大的文件,您应该使用 less 命令和 cat 命令以及管道运算符。 由于 less 命令一次只加载文件的一部分,因此不会消耗大量资源。 您可以使用箭头键向上或向下滚动以访问文件的其他部分。 将 less 命令与 cat 命令一起使用的语法是:
cat <大文件名> | 较少的
在上面的示例中,当您按照上述语法执行命令时,文件不会在同一终端提示符下打印出来,而是在新的终端视图中显示文件内容,如第二张图片所示。 您可以在此处使用箭头键滚动浏览文本。 要到达文本的底部,请使用“GG”,要到达文本的顶部,请使用“gg”。 要退出新的终端视图,请按“q”。
cat 命令实例
cat 命令与 tac 命令一起,为习惯使用 Linux 终端的用户大大简化了文件管理。 通过选项和额外的运算符,cat 命令可以极大地帮助简化您的工作流程。 在本文中,我们分享了一些有关如何使用 cat 命令在 Linux 系统上创建、追加和查看文件的实际示例。 如果您想了解有关 cat 命令的更多信息,请访问其 官方手册页. 如果您在使用此命令时遇到任何问题,请在下面的评论中告诉我们。