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

ls >ls >>什么区别? 我需要为我的GCSE计算理解这一点,但不知道它有什么区别。

>>>是重定向运算符; 他们转移某些东西的输出,在这种情况下是ls ,在其他地方。 如果此输出转到文件, >将截断文件 – 即删除任何以前的内容,而>>将新数据附加到文件的末尾,保留以前的内容。 这适用于任何输入,例如, echocat也可以这种方式使用。

同样感兴趣的是| 运算符,它将数据传递给另一个应用程序 – 所以ls | cat -n ls | cat -n会给你一个行编号的列表!

管道是相关术语。

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

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

所以ls > myfile会创建一个名为myfile如果它不存在的话。 如果myfile已经存在且包含一些数据,那么它将被您传递的新数据覆盖。

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

如果您使用单个>,则它将覆盖该文件(如果该文件已存在)。 使用这个时要非常小心。

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