“>” 和 “>>” 有什么区别?

“>” 和 “>>” 有什么区别?

ls >和之间有什么区别ls >>?我需要理解这一点才能通过 GCSE 计算,但不知道它们有什么区别。

答案1

>&>>是重定向运算符;它们将某些内容(在本例中为 )的输出转移到ls其他地方。如果此输出转到文件,>则会截断文件 - 即删除任何先前的内容,而>>将新数据附加到文件末尾,保留先前的内容。这适用于任何输入,因此例如echo&cat也可以以这种方式使用。

同样令人感兴趣的是|操作员,它将数据传递给另一个应用程序 - 因此ls | cat -n会为您提供行号列表!

管道是相关术语。

答案2

符号>>>用于将输出重定向到文件。

如果文件不存在,则两者都会创建文件。如果文件已经存在,>则将覆盖文件,而 as>>则会将数据附加到文件。

因此,如果不存在,ls > myfile将创建一个名为的文档。如果已经存在并且包含一些数据,那么它将被您传递给它的新数据覆盖。myfilemyfile

ls >> myfile如果不存在则创建一个文件并向其中写入数据。如果文件存在且包含一些数据,则新数据将添加到其末尾。

答案3

如果使用单个 >,则它将覆盖已存在的文件。使用时请务必小心。

如果使用两个 >>,则如果文件已存在,则只会追加(换句话说,从文件底部开始写入)。否则,如果文件不存在,则会创建一个新文件。

相关内容