如何在 Linux 中使用 cat 命令(附示例)

catLinux 中的命令是什么

cat 命令代表连接 它是每个 Linux 用户工具箱中最重要的命令之一。它最初是为 UNIX 操作系统制作的,但后来被 Linux 和 macOS 改编。该命令的主要目的是文件管理,它使用户能够创建新文件、查看文件内容、覆盖文件、合并两个或多个文件等。

如何使用 cat 命令:语法和选项

在深入研究一些实际示例之前,让我们先看看catLinux 中该命令的语法。语法简单明了。这是语法,您需要根据要执行的任务使用一个选项和文件名。

cat <options> <file_name(s)>

与该命令一起使用的一些常见选项cat是:

选项 描述
-n 显示所有行的行号
-T 显示文件中的每个制表符
-e 显示文件中每一行的结尾
-s 将文件末尾的连续空行合并为一个
-b 仅显示非空行

Linux 终端中的 cat 命令示例

查看单个文件

该命令最常见的用法cat是查看单个文件。您可以使用以下语法使用cat命令查看单个文件:

cat <option> <file_name>

cat_single_file

查看多个文件

通过一个接一个地添加文件名,以空格分隔,不带任何逗号,您还可以使用该cat命令查看多个文件。检查以下语法:

cat <option> <file_1> <file_2> <file_3>

cat_multiple_files

显示行号

默认情况下,该cat命令不显示它输出的文件内容的行号。要显示行号,请-n在 Linux 中使用带有 cat 命令的标志:

cat -n <file_name>

cat_line_numbers

使用 cat 命令创建一个新文件

一般我们使用touch命令创建新文件或者使用文本编辑器创建和编辑文件。显然,该cat命令不能替代这些工具,但您可以使用该cat命令对文件进行一些快速编辑。使用该cat命令,您可以创建一个新文件并向其中添加一些内容。使用命令创建新文件的语法cat是:

cat > <new_file_name>

在这里,“ >”被称为覆盖运算符,用于用新内容覆盖任何文件。由于文件完全是空的,所以无论你写什么,都会写入文件。完成写入新文件后,按“ ENTER”,然后使用“CTRL + d"退出提示。

cat_new_file

在上面的示例中,您可以看到使用 cat 命令创建了一个新文件“test1.txt”,文件内容由第二个命令的输出显示cat

将两个文件合并为一个新文件

使用下面的语法,您甚至可以使用cat命令将两个文件合并为一个文件。我们将使用附加运算符(“ >>”)使用以下命令将第一个文件的内容添加到第二个文件的末尾。

cat <option> <file_1> >> <file_2>

combine_2_file_cat

在上面的示例中,使用命令将文件“test1.txt”的内容添加到“test2.txt”的末尾cat。可以使用第二个命令的输出来验证新内容cat,我们在其中查看第二个文件。

将一个文件的内容复制到另一个文件

您甚至可以使用命令将一个文件的内容复制到另一个文件cat,如下所述。这里,“>”用于覆盖file_1to的内容file_2

cat <file_1> > <file_2>

overwrite_file_cat

在上面的示例中,我们使用覆盖运算符将文件“test1.txt”的内容覆盖为文件“test2.txt”的内容。

显示不可见字符

默认情况下,cat 命令在打印文件内容时不标记行结束符。要显示行尾,请使用-E标志和命令:

cat -E <file_name>

这将用符号标记每一行的结尾"$"。要打印制表符而不是四个空格,请-T按照以下语法使用标志:

cat -T <file_name>

这会将所有制表符打印为“ ^I。要打印所有其他不可见字符,请将-v标志与 cat 命令一起使用,如以下语法所示:

cat -v <file_name>

Screenshot-from-2023-02-13-15-34-10-1

正如您在上面的示例中看到的,所有行结尾都标有“$”符号,制表符标有“^I”字符。

将多个空行合并为一个

有时文件中可能有一些您不想打印的空行。要将所有空行合并为一个,请将-s标志与原始 cat 命令一起使用。

cat -s <file_name>

Screenshot-from-2023-02-13-15-39-40

以相反顺序查看文件内容(tac 命令)

通常,该cat命令以自上而下的格式显示文件内容。但是,在存储一些实时流数据或查看一些大型日志文件时,最新数据会附加在最后,并且很难滚动浏览巨大的文本块。在这种情况下,您可以使用tacLinux 中的命令,该cat命令的替代版本,它以相反的顺序打印文件内容。使用该tac命令的语法是:

tac <file_name>

Screenshot-from-2023-02-13-15-35-31

对文件的输出内容进行排序

在 Linux 中,您可以在 shell 重定向器的帮助下组合两个或多个命令。它们将一个命令的输出重定向到下一个命令的输入。您可以使用覆盖运算符 (>) 和追加运算符 (>>),它们被称为 I/O shell 重定向器。

还有第二种类型的 shell 重定向器,称为 shell 管道,用于同时运行两个或多个命令。这意味着一个命令的输出将作为输入重定向到下一个命令。由于命令执行遵循明确的结构,因此这种结构或概念被称为管道。管道运算符 ( | )为这些命令创建一个管道以按确定的顺序执行。

到目前为止,您一定很清楚该cat命令打印文件内容的顺序与它们存储在文件中的顺序相同。顾名思义,该sort命令按升序或降序对输出进行分类。cat但是通过管道运算符将命令的输出发送到sort命令,您可以获得按所需排序顺序排列的最终输出。这听起来可能令人困惑和复杂,但下面的示例将清除所有内容。使用管道运算符使用这两个命令的语法是:

cat <options> <file_name> | sort

Screenshot-from-2023-02-13-15-41-39

在上面的示例中,cat 命令没有打印文件“test3.txt”的内容,而是将内容发送给排序命令,然后排序命令根据字母顺序对其进行排序,最后打印排序后的输出。

使用 cat 命令查看大文件

有时,即使是规格很高的系统在显示大文件的内容时也会卡顿。对于这么大的文件,你应该使用lesscommand 和catcommand 连同管道操作符。由于该less命令一次只加载文件的一部分,因此不会消耗大量资源。您可以使用箭头键向上或向下滚动以访问文件的其他部分。less将命令与命令一起使用的语法cat是:

cat <big_file_name> | less

  • Screenshot-from-2023-02-13-15-49-57

如何在 Linux 中使用 cat 命令(附示例)

在上面的示例中,当您按照上述语法执行命令时,文件不会在同一终端提示符下打印出来,而是在新的终端视图中显示文件内容,如第二张图片所示。您可以在此处使用箭头键滚动浏览文本。要到达文本的底部,请使用“GG”,要到达文本的顶部,请使用“gg”。要退出新的终端视图,请按“q”。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun217744.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2023年3月7日 下午8:55
下一篇 2023年3月7日 下午9:17

相关推荐