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
>
希望对您有所帮助。
我的 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
>
希望对您有所帮助。