Contents

使用Linux Cat命令将文本写入文件

1. 概述

在本教程中,我们将了解如何使用 Linux cat命令将文本写入文件。

2. cat命令

cat命令是 Linux 中的实用命令。它最常见的用法之一是将文件的内容打印到标准输出流上。除此之外,  cat命令还允许我们将一些文本写入文件。

3. 语法

让我们看一下 cat命令的一般语法:

cat [OPTION] [FILE]

首先,OPTION 是一个标志列表,我们可以应用它来修改命令的打印行为,而 FILE 是我们希望命令读取的文件列表。 从文档 中,我们可以看到,**如果没有为 FILE 参数传递值,则cat命令将从标准输入中读取。**同样,当为 FILE 参数传递破折号“-”值时,它的行为也相同。结合Linux 重定向操作符 ,我们可以让cat命令监听标准输入流,并将内容重定向到文件中。

4. 让cat从标准输入中读取

让我们执行 cat命令:

cat

输入命令后,我们会看到该命令不会返回任何内容。这是因为cat命令现在正在侦听标准输入。 让我们尝试在终端中输入一些文本:

cat
This is a new line
This is a new line

我们可以观察到,**我们在标准输入流中输入的任何文本都会被cat命令回显到输出流中。**完成后,我们可以通过按 CTRL+D 来终止命令。

5. 使用cat写入文件

要写入文件,我们将让cat命令监听输入流,然后 **使用 Linux 重定向运算符“>”将cat命令的输出重定向到文件中。**具体来说,要使用cat命令 写入文件,我们在终端中输入以下命令:

cat > readme.txt

我们将再次看到终端正在等待我们的输入。但是,这一次它不会回显我们输入的文本。这是因为我们已经指示命令将输出重定向到文件readme.txt而不是标准输出流。

让我们在终端中输入一些文本,然后按 CRTL+D 来终止命令。

cat > readme.txt
This is a readme file.
This is a new line.

文件readme.txt现在将包含我们输入的两行。为了验证我们的结果,我们可以再次使用cat命令:

cat readme.txt
This is a readme file.
This is a new line.

瞧!我们已经使用cat命令写入了一个文件。

5. 使用cat将文本附加到文件

在前面的示例中我们应该注意的一件事是它总是会覆盖文件readme.txt如果我们想追加到现有文件,我们可以使用“»”运算符。

cat >> readme.txt
This is an appended line.

为了验证最后一个命令是否附加了文件,我们检查文件的内容:

cat readme.txt
This is a readme file.
This is a new line.
This is an appended line.

我们得到了它:我们输入的行被附加到文件的末尾,而不是替换整个文档。

6. here文件

还值得注意的是,此处的文档 语法可以与cat命令一起使用:

cat > readme.txt << EOF
This is an input stream literal
EOF

其中EOF 是一个标记,它告诉cat命令在其在后续行中看到这样的标记时终止。

标记可以是任何其他值,只要它足够不同以至于不会出现在输入流文字中。请注意,开始和结束EOF标记都不会显示在readme.txt文件中。