Linux中的 Cat 命令
cat命令是Linux中最广泛使用的命令之一。cat命令的名字来自于它对文件进行concatenate的功能。它可以读取、串联和写入文件内容到标准输出。如果没有指定文件或输入文件名被指定为一个连字符(-),它就从标准输入中读取。
cat最常用于显示一个或多个文本文件的内容,通过将一个文件的内容附加到另一个文件的末尾来合并文件,以及创建新的文件。
在这篇文章中,我们将通过实际的例子来告诉你如何使用cat命令。
cat 命令的句法
在讨论如何使用cat命令之前,让我们先回顾一下基本的语法。
cat 的实用性表达方式有以下形式。
cat [OPTIONS] [FILE_NAMES]
OPTIONS-cat选项 。使用cat --help来查看所有可用的选项。FILE_NAMES- 零个或更多的文件名。
显示文件的内容
cat命令的最基本和最常见的用法是读取文件的内容。
例如,下面的命令将在终端上显示/etc/issue文件的内容。
cat /etc/issue
重定向文件的内容
与其将输出显示在stdout(屏幕上),你可以将其重定向到一个文件。
下面的命令将使用(>)操作符将file1.txt的内容复制到file2.txt中。
cat file1.txt > file2.txt通常你会使用
cp命令来复制一个文件。
如果file2.txt文件不存在,该命令将创建它。否则,它将覆盖该文件。
使用(>>)运算符来将file1.txt的内容附加到file2.txt上。
cat file1.txt >> file2.txt和以前一样,如果文件不存在,就会被创建。
打印行号
要显示带有行号的文件内容,请调用带有-n选项的cat。
cat -n /etc/lsb-release输出
1 DISTRIB_ID=Ubuntu
2 DISTRIB_RELEASE=18.04
3 DISTRIB_CODENAME=bionic
4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
不显示重复的空行
使用-s选项,可以省略重复的空输出行。
cat -s file.txt显示TAB 字符
-T选项允许你在视觉上区分制表符和空格。
cat -T /etc/hosts输出
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1804.localdomain
TAB字符将被显示为^I。
显示行的末尾
要显示不可见的行结束符,请使用-e参数。
cat -e /etc/lsb-release输出
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=18.04$
DISTRIB_CODENAME=bionic$
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
换行符将显示为$。
串联文件
当把两个或多个文件名作为参数传给cat命令时,文件的内容将被串联起来。cat按其参数中给出的顺序读取文件,并按相同的顺序显示文件的内容。
例如,下面的命令将读取file1.txt和file2.txt的内容,并将结果显示在终端。
cat file1.txt file2.txt你可以把两个或更多的文本文件串联起来,并把它们写入一个文件中。
下面的命令将连接file1.txt和file2.txt的内容,并使用(>)操作符将它们写到一个新的文件combinedfile.txt中。
cat file1.txt file2.txt > combinedfile.txt如果combinedfile.txt文件不存在,该命令将创建它。否则,它将覆盖该文件。
要将file1.txt和file2.txt的内容连接起来,并将结果附加到file3.txt上,要使用(>>)运算符。
cat file1.txt file2.txt >> file3.txt如果该文件不存在,它将被创建。
当用cat连接文件时,你可以使用与上一节中所示相同的参数。
创建文件
用cat创建小文件往往比打开文本编辑器(如nano、Vim、Sublime Text或Visual Studio Code)更容易。
要创建一个新的文件,使用cat命令,然后是重定向操作符(>)和你要创建的文件的名称。按Enter,输入文字,完成后按CRTL+D保存文件。
在下面的例子中,我们正在创建一个名为file1.txt的新的文件。
cat > file1.txt
如果有一个名为file1.txt的文件存在,它将被覆盖。使用'>>'操作符将输出附加到一个现有的文件中。
cat >> file1.txt总结
cat 命令可以显示、合并和创建新文件。
如果你有任何问题或反馈意见,请随时留言。