cat (命令行中显示文件内容)

小猪老师 发表于 2020-07-13 15:39
浏览次数:
在手机上阅读

在类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是用于处理文本文件,系统日志,配置文件以及文件中存储的任何其他可读数据的数据的简单但非常有用的工具。

cat stands for "catenate." It is one of the most commonly-used commands in Unix-like operating systems. It can be used to:

  • Display text files
  • Copy text files into a new document
  • Append the contents of a text file to the end of another text file, combining them

Displaying text files

The simplest way to use cat is to give it the name of a text file. It displays the contents of the text file on the screen. For instance:

cat mytext.txt

...will read the contents of mytext.txt and send them to standard output (your terminal screen). If mytext.txt is very long, they will zoom past and you will only see the last screen's worth of your document.

If you want to view the document page-by-page or scroll back and forth through the document, you can use a pager or viewer such as pg, more, or less.

If you specify more than one file name, cat displays those files one after the other, catenating their contents to standard output. So this command:

cat mytext.txt mytext2.txt

Will print the contents of those two text files as if they were a single file.

Copy a text file

Normally you would copy a file with the cp command. You can use cat to make copies of text files in much the same way.

cat sends its output to stdout (standard output), which is usually the terminal screen. However, you can redirect this output to a file using the shell redirection symbol ">".

For instance, this command:

cat mytext.txt > newfile.txt

...will read the contents of mytext.txt and send them to standard output; instead of displaying the text, however, the shell will redirect the output to the file newfile.txt. If newfile.txt does not exist, it will be created. If newfile.txt already exists, it will be overwritten and its previous contents will be lost, so be careful.

Similarly, you can catenate several files into your destination file. For instance:

cat mytext.txt mytext2.txt > newfile.txt

...will read the contents of mytext.txt and mytext2.txt and write the combined text to the file newfile.txt. Again, if newfile.txt does not already exist, it will be created; if it already exists, it will be overwritten.

Append a text file's contents to another text file

Instead of overwriting another file, you can also append a source text file to another using the redirection operator ">>".

For instance:

cat mytext.txt >> another-text-file.txt

...will read the contents of mytext.txt, and write them at the end of another-text-file.txt. If another-text-file.txt does not already exist, it will be created and the contents of mytext.txt will be written to the new file.

The cat command also works for multiple text files as well:

cat mytext.txt mytext2.txt >> another-text-file.txt

...will write the combined contents of mytext.txt and mytext2.txt to the end of another-text-file.txt.

Incorporating standard input into cat output

cat reads from standard input if you specify a hyphen ("-") as a file name. For example, if you have a file, list.txt, which contains the following text:

apples
oranges
butter
bread

...you could use the echo command to output text, pipe that output to cat, and instruct cat to catenate it with the file's contents, like this:

echo "My Shopping List" | cat - list.txt

...which would output the following text:

My Shopping List
apples
oranges
butter
bread

In short, cat is a simple but very useful tool for working with the data in text files, system logs, configuration files, and any other human-readable data stored in a file.

查看英文版

查看中文版

Syntax

cat [OPTION]... [FILE]...
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

输出版本信息,然后退出。

These options are available on GNU cat, which is standard on most Linux distributions. If you are using a different Unix-like operating system (BSD, for example), some of these options may not be available; check your specific documentation for details.

-A, --show-all

Equivalent to -vET.

-b, --number-nonblank

Number non-empty output lines. This option overrides -n.

-e

Equivalent to -vE.

-E, --show-ends

Display "$" at end of each line.

-n, --number

Number all output lines.

-s, --squeeze-blank

Suppress repeated empty output lines.

-t

Equivalent to -vT.

-T, --show-tabs

Display TAB characters as ^I.

-v, --show-nonprinting

Use ^ and M- notation, except for LFD and TAB.

--help

Display a help message, and exit.

--version

Output version information, and exit.

查看英文版

查看中文版

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的内容,省略任何重复的空白行。

cat file.txt

Read the contents of file.txt and display them on the screen.

cat file1.txt file2.txt

Reads the contents of file1.txt and file2.txt, and displays them in order on the terminal screen.

cat file.txt > newfile.txt

Read the contents of file.txt and write them to newfile.txt, overwriting anything newfile.txt previously contained. If newfile.txt does not exist, it will be created.

cat file.txt >> another-file.txt

Read the contents of file.txt and append them to the end of another-file.txt. If another-file.txt does not exist, it will be created.

cat -s file.txt

Display the contents of file.txt, omitting any repeated blank lines.

查看英文版

查看中文版

其他命令行

cut | cu | csplit | crontab | cpio | continue | compress | col | cmp | cksum | chsh | chroot | chkey | cd | chmod | cp | comm | chown | cal | calendar | clear | chfn | cancel | cc | cfdisk | checkeq | checknr | chgrp |

如此好文,分享给朋友
发表评论
验证码:
评论列表
共0条