Linux 命令行中的 cat > filename 和 cat >> filename 有什么区别

What is the difference between cat > filename and cat >> filename in Linux Command Line

我的 pwd 中没有任何最初名为 "File1.txt" 的文件。我在 Linux CLI 中执行了命令 cat > File1.txt。它在 pwd 中创建了一个名为 "File1.txt" 的新文件。然而,当我写命令 cat >> File1.txt 时,同样的事情发生了。使用 Linux CLI 时,这两个命令之间有什么真正的区别吗? (我在使用 CLI 时使用 Ubuntu)。

cat > a.txt 将覆盖现有文件,而 cat >> a.txt 将从文件的最后追加。

这是一个例子:

最初没有a.txt文件时

> cat a.txt
ls: cannot access 'c.txt': No such file or directory
>

现在您使用 cat > a.txt 创建文件并使用 cat > a.txt

显示它
> cat > a.txt
abcd
^c
> cat a.txt
abcd
>

如果您再次这样做,它将被新内容覆盖

> cat > a.txt
qwer
^c
> cat a.txt
qwer
>

但是,如果您使用 cat >> a.txt 命令,它会从现有文件的末尾追加新内容

> cat > a.txt
abcd
^c
> cat a.txt
abcd
> cat >> a.txt
qwer
^c
> cat a.txt
abcd
qwer
>

希望对您有所帮助。