在任何操作系统中,用户都与文件交互,执行创建、删除和读取文件等操作。 Linux 上的情况也没有什么不同。
尽管 Linux 操作系统允许您使用图形用户界面处理文件,但大多数 Linux 用户更喜欢从终端与操作系统交互。
因此,Linux有允许用户直接从终端操作文件的命令。 cat命令就是这样的命令之一。

Linux 手册页使用cat命令连接文件并将文件内容打印到标准输出。 Linux 手册页是帮助用户了解 Linux 命令以及如何使用它们的文档文件。
要访问 Linux 命令的手册页,只需键入man <command_name> 。例如,要查看cat命令的手册页,请在终端中运行以下命令:
man catcat命令的用途
如前所述,您可以使用 cat 命令将文件的内容打印到屏幕上。其他功能是连接文件并输出其内容。这意味着,如果您向 cat 命令指定多个文件,它们的内容将被连接起来,并将内容打印到屏幕上。
简单来说,cat命令将内容以多个文件的形式输出到屏幕上。但是,在这样的操作中,cat命令不会创建新文件,cat命令使用的原始文件保持不变。

cat 命令也用于重定向。重定向是指用户如何更改标准输入的源以及标准输出和标准错误的目的地。标准输入、标准输出和标准错误是用于 Linux 通信的标准流。
默认情况下,标准输入是键盘,标准输出和标准错误默认显示在屏幕上。
因此,重定向意味着您可以重定向它以从文件或其他源获取输入,而不是从默认的键盘获取标准输入。
对于默认显示在屏幕上的标准输出和标准错误,您可以通过重定向将这些输出写入文件。
cat 命令语法
cat 命令的语法为:
cat [OPTION]... [FILE]...在 Linux 手册页中,方括号中的任何内容都是可选的。因此,上述语法不需要指定 OPTION 或 File 作为 cat 命令的参数。您可以指定两者之一、两者或根本不指定。
省略号 (…) 用于指示允许使用一个或多个前面的操作数或参数。因此,cat 命令可以采用一个或多个选项或文件。
FILE 表示要使用 cat 命令连接并显示的文件。 OPTION 表示可以添加到 cat 命令以更改其行为的标志。可与 cat 命令一起使用的选项如下。

cat 命令的工作原理是获取传递给它的文件并将其内容打印到标准输出(终端窗口)。如果传递多个文件,它们的内容将连接起来并显示在终端窗口中。
根据传递的标志,cat 命令的行为也有所不同。例如,传递 -n 标志会导致 cat 命令对所有输出行进行编号。您可以传递可与 cat 命令一起使用的任何标志,具体取决于您希望它的行为方式。
如何使用cat命令
例如,要使用 cat 命令,只需输入命令和要连接和读取的文件的名称。要输出名为 Rainbow.txt 的文件的内容,请运行以下命令:
cat rainbow.txt您还可以添加标志来更改 cat 命令的行为。例如,您可以使用 -n 标志对所有输出行进行编号。在上面的示例中,您可以通过运行以下行对 Rainbow.txt 中的所有输出行进行编号:
cat -n rainbow.txt两个命令的输出如下所示。

您可以通过顺序或间隔写入来组合可与cat命令一起使用的标志和选项。两者中的任何一个都会起作用。下面显示的 -E 标志用于将美元符号 ($) 添加到输出行的末尾。
这在显示货币值时很有用。以下是使用 cat 命令组合多个标志的各种方法。

要使用 cat 命令连接并显示多个文件,只需按顺序列出文件名,并用空格分隔即可。例如,要连接名为Rainbow.txt和Primary.txt的两个文件,请运行以下行:
cat rainbow.txt primary.txt该命令的输出如下所示。

执行此操作后, rainbow.txt和primary.txt这两个文件保持不变。请注意,文件在命令中出现的顺序决定了其内容的显示方式。显示从第一个文件到最后一个文件的内容。您还可以在显示串联的多个文件时添加标志,如下所示。

关于 cat 命令需要注意的最后一件事是,如果命令中未指定文件或指定了破折号 (-),则 cat 命令从标准输入而不是从文件读取。标准输入是键盘。
因此,cat 命令只是显示用户在键盘上键入的内容。要查看实际效果,请运行以下命令:
cat当您运行此命令时,将出现一个闪烁的光标,等待键盘输入。输入任意文本并按Enter 。您输入的内容将输出到标准输出,如下所示。

按CTRL+C退出并停止将输入传递给 cat 命令。
您还可以使用 cat 命令连接并打印活动目录中特定类型的所有文件的内容。这是使用星号 (*) 通配符完成的。例如,要检索特定目录中所有文本文件 (.txt) 的内容,请运行以下代码:
cat *.txt该命令的输出如下所示。

cat 命令示例
除了 cat 命令的标准用法之外,cat 命令的功能还可以通过重定向进行扩展。如前所述,cat 命令默认将输出打印到终端屏幕。
但是,重定向允许您将输出重定向到另一个文件,而不是将其显示在屏幕上。
Linux 上的输出重定向运算符是> (不等号,也称为 V 形)。
例如,如果您运行以下行:
cat rainbow.txtRainbow.txt 的内容将输出到屏幕上。
然而,当我跑步时
cat colors.txt > rainbow.txtRainbow.txt的内容不显示在屏幕上。相反,它们会被重定向并写入到color.txt文件中。这是将内容从一个文件复制到另一个文件的好方法。
Linux 上输出重定向的默认行为是覆盖重定向文件中的所有内容。例如,在上面的示例中, rainbow.txt中的所有内容将被colors.txt中的内容覆盖。要保留重定向文件中的现有内容并向其中添加新内容,请在重定向时使用>> 。
请注意,使用>>将Rainbows.txt的输出重定向到color.txt后, colors.txt现在包含在Rainbows.txt中找到的颜色。

为了进一步利用 cat 命令的功能,您可以将重定向与 cat 命令在未提供文件时从标准输入读取的默认行为结合起来,使用 cat 命令创建文件,并可以写入。
当我运行下面的代码时
cat > dark.txt您将被重定向到dark.txt 。由于您没有提供内容重定向到 dark.txt 的文件,因此 cat 命令需要从键盘输入。
因此,键入要在 dark.txt 中保存的文本,按Enter前进到下一行,完成后按CTRL + D将键入的内容保存到重定向文件中。
由于您重定向到一个不存在的文件,因此将自动创建dark.txt ,并且您从键盘输入的任何内容都将保存到该文件中。这样您就可以使用 cat 命令创建文件并在创建文件时写入该文件。
该操作的输出如下所示。

您还可以使用 cat 将文本附加到文件末尾。使用dark.txt,您可以通过运行以下命令添加更多颜色:
cat >> dark.txt然后,您可以通过在键盘上键入内容来添加其他信息,按 CTRL + D 保存新内容,并将其附加到dark.txt ,如下所示。
猫 您还可以使用命令将多个文件连接成一个文件。此类操作的语法如下所示。
cat file1 file2 file3 > file4file1、file2 和 file3 的内容被连接并写入 file4。如果不想覆盖file4的内容,也可以使用>>。如果 file$ 不存在,则会自动创建。
下面显示了一个示例。
要将 color.txt 和 Primary.txt 的内容写入 allColors.txt,请运行以下命令:
cat colors.txt primary.txt > allColors.txt 
您还可以使用 cat 命令将一个或多个文件的内容附加到另一文件。这是在重定向输出时使用>>完成的。这可以避免覆盖其他文件中已保存的内容。例如,要将 Primary.txt 的内容附加到 color.txt,请运行以下代码:
cat primary.txt >> colors.txt该操作的结果如下所示。

结论
cat 命令是一个非常有用的 Linux 命令,它允许您连接并显示文件的内容。该命令有多个标志,可以添加这些标志来更改其行为。
重定向极大地扩展了 cat 命令的功能,允许用户创建和复制文件、将多个文件连接成一个文件以及附加到现有文件。有关 cat 命令的更多信息,请参见手册页。
您还可以查找一些供系统管理员使用的 Linux 命令。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

