“>”与“>>”有什么关系?

ayy*_*mao 28 linux ls command

我目前正在为 Linux 上的 GCSE 计算控制评估做准备。我在命令行中输入ls > listls >> list,但它没有做任何事情。我用谷歌搜索过它,但我找不到它到底做了什么。

有什么作用:

ls > list
Run Code Online (Sandbox Code Playgroud)

ls >> list
Run Code Online (Sandbox Code Playgroud)

做?

Alb*_*ert 32

两者都将标准输出重定向到文件。

ls > list
Run Code Online (Sandbox Code Playgroud)

如果文件存在,它将被替换。

ls >> list
Run Code Online (Sandbox Code Playgroud)

如果文件不存在,它将被创建。如果存在,它将被附加到文件的末尾。

了解更多:IO 重定向


Mic*_*ant 14

这个:

ls > list
Run Code Online (Sandbox Code Playgroud)

意味着重定向ls命令的输出以创建一个名为list. 如果文件已经存在,请替换它。

然而

ls >> list
Run Code Online (Sandbox Code Playgroud)

意味着重定向ls命令的输出并将附加到名为list 的文件中,如果该文件不存在则创建它。


通常>在可以擦除现有文件时使用。这通常意味着输出会根据最新的当前状态不断覆盖文件。例如,每次测试程序时,您可能会覆盖之前的测试输出。

通常>>用于记录事件、解析或其他数据处理等项目,其中数据被逐个创建或转换为新形式