如果你是一个常规的Linux命令行用户,我确定你必须使用cat命令。 该工具主要用于显示文件的内容,尽管它提供了许多其他小而有用的功能。 在本文中,我们将详细讨论cat命令,解释其一些主要功能。
请注意,本教程中提到的所有示例都已在Ubuntu 16.04 LTS上进行了测试。
Linux cat命令
该工具的手册页描述为:
cat - concatenate files and print on the standard output
以下是10分,将给您一个关于猫的好主意,包括它的工作原理及其提供的功能:
1.如何使用猫来查看文件的内容
cat命令允许您在标准输出(stdout)上查看文件的内容。 这可以通过以下方式进行:
$ cat [filename]
例如:
$ cat file1.txt
2.如何使用猫显示多个文件
该工具还允许您一次显示多个文件的内容。 这可以通过以下方式进行:
$ cat [filename] [filename] ...
例如:
$ cat file1.txt file2.txt
3.如何显示带行号的文件内容
如果需要,您还可以显示每行开始处印有行号的文件的内容。 这可以通过使用工具的-n命令行选项来完成。
$ cat -n [filename]
例如:
$ cat -n file1.txt
4.如何使用cat命令创建文件
如果需要,您还可以创建一个新文件,并使用单个cat命令填写信息。 以下是您的操作方法:
$ cat > [name-of-new-file]
运行时,该命令要求您输入终端上的信息。 完成后,只需按CTRL + d。
例如:
$ cat > file4.txt
要交叉验证文件的存在以及检查它包含的信息,我使用以下命令:
5.如何将一个文件的内容复制到另一个文件
您也可以使用cat将一个文件的内容复制到另一个文件。 这可以通过以下方式进行:
$ cat [filename-whose-contents-is-to-be-copied] > [destination-filename]
例如:
$ cat file1.txt > file3.txt
请注意,我们在这种情况下使用的输出重定向运算符(>)会在将内容移动到目标文件之前刷新目标文件。 所以,值得一提的是存在另一个重定向运算符(>>),它只是将内容附加到目标文件,而不是先刷新它。
如何使猫突出线端
如果你想要的话,你也可以让猫突出显示行尾。 该工具通过在每行的末尾显示$来实现。 可以使用该工具的-E命令行选项访问此功能。
$ cat -E [filename]
例如:
$ cat -E file1.txt
7.如何使猫抑制重复空行
如果你想要,你也可以使cat命令在输出中抑制重复的空行。 这可以通过使用-s命令行选项来完成。
$ cat -s [filename]
例如:
$ cat -s file6.txt
上述屏幕截图中的第一个命令显示文件中所有的空行。 但是由于在第二个cat命令中使用了-s命令行选项,所以重复的空行被抑制。
如何使猫显示标签字符为^ I
cat命令还允许您显示标签字符为^ I。 这可以通过使用工具的-T命令行选项来完成。
$ cat -T [filename]
例如:
$ cat -T file7.txt
如上图所示,TAB第一次正常显示,但是当使用-T选项执行相同的命令时,TAB被^ I替换。
9.如何使猫显示非打印字符
如果需要,还可以使cat命令显示不可打印的字符。 这可以使用-v命令行选项来完成。
$ cat -v [filename]
例如:
$ cat -v file9.txt
如上图所示,第一个命令通常显示包含不可打印字符的文件的内容。 但是当我们使用-v选项时,这些字符以选项使用的特殊符号显示。
请注意,LFD(换行符)和TAB字符是此命令行选项的例外。
-A选项
在这种情况下,您需要一起使用-v,-E和-T选项,而不是在命令中写入-vET,您可以使用-A命令行选项。
$ cat -A [filename]
例如:
$ cat -A file10.txt
如上图所示,第一个命令显示文件(file10.txt)包含两行。 这些行包含制表符以及一些不可打印的字符。 因此,当使用-A命令行选项运行相同的命令时,选项卡被^ I替换,非打印字符以特殊符号显示。 最后,每行以$结尾。
所以,有效地, -A做了什么。
结论
我们已经覆盖了大部分的cat命令选项,所以练习他们应该给你一个很好的工具。 尝试一下,一旦完成,请转到命令的手册页 ,了解更多信息。