linux中cat命令介绍
Cat命令(concatenate的缩写)是Linux操作系统中使用最广泛的命令行实用工具之一。它是一个标准的Linux实用程序,用于查看文件的内容,而不需要在任何文本编辑器中打开它。cat命令的另一个主要用法是将多个文件串联到一个文件中。在Linux中还有其他几种cat命令的用法,我们将在本文中讨论这些用法,以便您了解它在不同场景中的工作方式。
以下是cat命令的一些基本功能:
显示文件内容 创建新文件 合并文件 复制文件内容注意,我们使用Ubuntu 18.04 LTS操作系统来演示本文中提到的命令和过程。
基本语法
使用Cat命令的基本语法是:
cat [option] [filename]…如果您在包含文件的同一目录中,请使用上面的命令。否则,如果你在其他目录下,请按如下说明该文件的路径:
cat [option] [path/to/file]…如果想要连接合并文件
cat filename1 filename2 > filename3cat 命令常用选项及含义
选项 含义 -A 相当于 -vET 选项的整合,用于列出所有隐藏符号; -E 列出每行结尾的回车符 $; -n 对输出的所有行进行编号; -b 同 -n 不同,此选项表示只对非空行进行编号。 -T 把 Tab 键 ^I 显示出来; -V 列出特殊字符; -s 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。
cat命令的使用示例
显示文件内容
cat命令最常见和最基本的用法是显示文件内容。 为了将文件内容显示到终端,只需键入cat和文件名,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat linuxmi.txt一个示例是显示 /etc/hostname文件的内容。 在这种情况下,命令将是:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname显示所有文件的内容
要显示当前目录中的所有文件,请在cat命令中使用通配符,如下所示:
[linuxmi@linux:~/linuxmi迷]$ cat *要仅显示目录中文本文件的内容,请输入以下命令:
[linuxmi@linux:~/linuxmi迷]$ cat *.txt一次显示多个文件
您还可以使用cat命令在终端中组合并显示多个文件的内容。 要同时显示多个文件,请使用以下语法:
[linuxmi@linux:~/linuxmi迷]$ cat /etc/hostname /etc/resolv.conf linuxmi1.txt一个示例是在终端中查看所有三个文件/etc/hostname、/etc/resolv.conf、linuxmi1的输出,如以下屏幕快照所示:
将一个文件的输出复制到另一个文件
它还可以用于将一个文件的输出复制到另一文件。如果目标文件不存在,它将首先创建它,否则将覆盖目标文件。
要将源文件的输出复制到另一个文件,请使用以下语法:
$ Cat [源文件] > [目标文件]例如,将一个linuxmi1.txt的输出复制到另一个名为linuxmi2.txt的文件中,如下所示:
$ cat linuxmi1.txt > linuxmi2.txt此命令将首先创建文件linuxmi2.txt,然后将linuxmi1.txt的内容复制到该文件。
将文件输出附加到另一个文件
除了在上面的示例中覆盖目标文件的输出外,还可以使cat命令附加输出。以下语法可用于此目的:
$ cat [源文件] >> [目标文件]如果目标文件尚不存在,它将创建目标文件,否则将附加输出。
将多个文件复制到另一个文本文件/拼接文件
cat命令的另一个主要用途是可以将多个文件拼接为一个文件。可以使用以下语法来拼接linuxmi1,linuxmi2和linuxmi3并将它们保存到另一个名为linuxmi4.txt的文件中。
$ cat [linuxmi1] [linuxmi2] [linuxmi3] > [linuxmi4]例如,我们要将/etc/hostname、/etc/resolv.conf和/etc/hosts文件的输出连接到另一个名为linuxmi.txt的文件。以下命令可用于此目的:
$cat /etc/hostname /etc/resolv.conf /etc/hosts > linuxmi.txt在文件中显示行号
要显示文件输出的行号,只需使用–n标志即可:
$ cat -n linuxmi.py表的文件,则可以使用–n标志显示带有数字的项目。请记住,空行也已编号,如以下屏幕截图所示:
如果您不想给空行编号,请使用–b标志,如下所示:
$ cat –b linuxmi.py建立档案
您还可以使用cat命令创建文件。以下语法可用于此目的:
$ cat > linuxmi输入上述命令后,输入要存储在文件中的文本。完成后,使用Ctrl + D保存并退出。之后,可以在终端中执行以下命令来查看新创建文件的内容:
$ cat linuxmi如下图:
排序输出
您还可以将sort与cat命令结合使用,以按字母顺序对输出进行排序,如下所示:
$ cat linuxmi | sort同样,在有多个文件的情况下,可以按字母顺序将输出连接到一个文件中:
$cat [linuxmi1] [linuxmi2] | sort > [linuxmi3]删除连续的空行
有时文件包含您不想打印的连续的空行。 Cat命令允许合并那些连续的空行,并将它们显示为一个空行。
使用以下命令语法删除重复的空行:
$ cat –s [linuxmi]例如,我们有以下文件,其中包含连续的空行。
通过使用-s标志,您将看到区别。
显示制表符
$ cat –t [linuxmi]使用-t选项可以显示的查看内容中哪些地方使用了tab制表符,有制表符的地方会显示为^I
打印文件输出
cat命令的另一种流行用法是在文档的打印内容中。例如,要将文件的输出打印到名为/dev/lp的打印设备上,将使用以下语法:
$ cat [linuxmi] > /dev/lp
暂无评论内容