cat
在类unix操作系统上,cat命令从文件中读取数据,并输出其内容。 这是在命令行中显示文件内容的最简单方法。 本文介绍了GNU/Linux版本的cat。
查看英文版
1 cat 运行系统环境
2 Description
3 Syntax
4 Options
5 Examples
cat 运行系统环境
Unix&Linux
Description
cat代表“ catenate”。它是类Unix操作系统中最常用的命令之一。它可以用于:
- 显示文字档
- 将文本文件复制到新文档中
- 将文本文件的内容附加到另一个文本文件的末尾,并将它们组合
显示文字档
使用cat的最简单方法是为其命名一个文本文件。它在屏幕上显示文本文件的内容。例如:
cat mytext.txt
...将读取mytext.txt的内容并将其发送到标准输出(您的终端屏幕)。如果mytext.txt太长,它们将缩放过去,并且您只会看到文档最后一屏的价值。
如果要逐页查看文档或在文档中来回滚动,可以使用寻呼机或查看器,例如pg,more或less。
如果您指定多个文件名,cat会依次显示这些文件,并将其内容链接到标准输出。所以这个命令:
cat mytext.txt mytext2.txt
将打印这两个文本文件的内容,就像它们是单个文件一样。
复制文本文件
通常,您将使用cp命令复制文件。您可以使用cat以几乎相同的方式制作文本文件的副本。
cat将其输出发送到stdout(标准输出),通常是终端屏幕。但是,您可以使用外壳重定向符号“ > ” 将此输出重定向到文件。
例如,此命令:
cat mytext.txt > newfile.txt
...将读取mytext.txt的内容并将其发送到标准输出;但是,外壳程序不显示文本,而是将输出重定向到文件newfile.txt。如果newfile.txt不存在,将创建它。如果newfile.txt已经存在,它将被覆盖并且其先前的内容将丢失,因此请小心。
同样,您可以将几个文件分类到目标文件中。例如:
cat mytext.txt mytext2.txt > newfile.txt
...将读取mytext.txt和mytext2.txt的内容,并将合并的文本写入文件newfile.txt中。同样,如果newfile.txt不存在,将创建它;否则,将创建它。如果已经存在,它将被覆盖。
将文本文件的内容附加到另一个文本文件
除了覆盖另一个文件,您还可以使用重定向操作符“ >> ” 将源文本文件附加到另一个文件。
例如:
cat mytext.txt >> another-text-file.txt
...将读取mytext.txt的内容,并将其写在another-text-file.txt的末尾。如果another-text-file.txt不存在,将创建该文件,并将mytext.txt的内容写入新文件。
cat命令也适用于多个文本文件:
cat mytext.txt mytext2.txt >> another-text-file.txt
...将把mytext.txt和mytext2.txt的组合内容写到another-text-file.txt的末尾。
将标准输入合并到cat输出中
如果您将连字符(“ - ”)指定为文件名,则cat将从标准输入中读取。例如,如果您有一个文件list.txt,其中包含以下文本:
apples oranges butter bread
...您可以使用echo命令输出文本,将输出通过管道传递给cat,并指示cat用文件的内容对其进行分类,如下所示:
回声“我的购物清单” | 猫-list.txt
...这将输出以下文本:
echo "My Shopping List" | cat - list.txt
简而言之,cat是用于处理文本文件,系统日志,配置文件以及文件中存储的任何其他可读数据的数据的简单但非常有用的工具。
查看英文版
Syntax
cat [OPTION]... [FILE]...
查看英文版
Options
这些选项在大多数Linux 发行版中的标准GNU cat上可用。如果您使用的是其他类似Unix的操作系统(例如BSD),则其中某些选项可能不可用;请参阅第133页上的“选择”。请查看您的特定文档以获取详细信息。
-A, --show-all |
等效于-vET。 |
-b, --number-nonblank |
编号非空输出线。此选项覆盖-n。 |
-e |
等效于-vE。 |
-E, --show-ends |
在每行末尾显示“ $ ”。 |
-n, --number |
编号所有输出线。 |
-s, --squeeze-blank |
抑制重复的空输出线。 |
-t |
等效于-vT。 |
-T, --show-tabs |
显示TAB字符^I. |
-v, --show-nonprinting |
除LFD和TAB外,请使用^和M-表示法。 |
--help |
显示帮助消息,然后退出。 |
--version |
输出版本信息,然后退出。 |
查看英文版
Examples
cat file.txt
读取file.txt的内容并将其显示在屏幕上。
cat file1.txt file2.txt
读取file1.txt和file2.txt的内容,并在终端屏幕上按顺序显示它们。
cat file.txt > newfile.txt
读取file.txt的内容并将它们写入newfile.txt,覆盖先前包含的所有newfile.txt。如果newfile.txt不存在,将创建它。
cat file.txt >> another-file.txt
阅读file.txt的内容,并将其附加到another-file.txt的末尾。如果another-file.txt不存在,将创建它。
cat -s file.txt
显示file.txt的内容,省略任何重复的空白行。
查看英文版