怎样在 Linux 上使用 cat 命令(以及何时不使用)

您将在 Linux 上使用的最基本的命令之一是 cat。 乍一看似乎很神秘,但实际上使用起来很简单。

下面介绍怎样在 Linux 上使用 cat 命令,以及何时不使用它。

什么是猫?

cat 是一个非常古老的实用程序,可以追溯到 Unix 的原始实现。 这个名字可能看起来很奇怪,但它是“连接”的缩写。 这是将一堆东西粘在一起的花哨术语。 在这种情况下,“东西”是指文件。 cat 是将一堆文本文件粘在一起的实用程序。 大多数人使用它将文件打印到屏幕或另一个文件中。

GNU 实现是大多数 Linux 发行版上默认安装的 coreutils 软件包的一部分,但 BusyBox 上也有一个在最小或实时发行版上很常见的版本。

将 cat 与标准 I/O 一起使用

cat 对标准输入和输出进行操作。 这意味着它将接受来自键盘或使用 I/O 重定向的其他程序的文本输入,并且您可以使用管道将其输出与另一个程序一起使用:

cat | some_program

请记住,许多其他 Linux 命令也接受标准 I/O,因此您可能不需要在管道中实际使用 cat。 稍后再谈。

它还接受来自命令行的文件作为参数。 您可以使用以下命令将整个文件打印到终端:

cat file.txt

您还可以使用 cat 打印多个文件:

cat file1 file2

这是 cat 的“连接”部分。

自己调用,猫会等你输入文本并按下 Enter,然后回显您在终端输入的任何内容,直到您按下 Ctrl + D. 您还可以使用重定向运算符将文本重定向到文件中:

cat > some_file

猫的无用用途

鉴于 cat 是一个如此基本的实用程序,很容易将它与管道一起使用。 Randal Schwartz 以他的 Perl 书籍而闻名,他创建了无用使用 cat (UUOC)“奖”(如在 时代埃里克森的主页) 并且偶尔会在 Usenet 上分发它们。

UUOC 的主要条件是使用 cat 将输出通过管道传输到已经将标准输入或文件作为参数的命令。 由于有这么多 Unix 和 Linux 命令这样做,使用 cat 管道标准输出或单个文件是浪费时间。 您应该查看手册页以了解您想要使用的任何命令,并确保它接受标准输入,这样您就不会“赢得”这个奖项。

如果您要查看长文件,最好使用像 Most 或文本编辑器这样的寻呼机。

cat:一个基本但不可或缺的 Linux 工具

cat 可能是一个基本命令,但就像许多基本的 Linux 工具一样,它可以方便地打印文本文件并将输出发送到其他程序。 如果您想在终端中添加更多颜色,您可能需要考虑 lolcat,这是另一个基于过滤器的程序,可在终端中生成彩虹色文本。