在shell中使用>和>>有什么区别?

我已经看到了我们可以在shell中使用>>的地方。 在shell中使用>和>>有什么区别?

>>用于追加,而>用于写入(替换)。

如果文件存在, >>将追加到文件末尾, >将覆盖它。

否则将创建它。

如果您重定向到的文件已经存在,那么是有区别的:

>截断(即替换)一个现有的文件。

>>追加到现有的文件。

'>>'将允许您将数据追加到文件,其中'>'将覆盖它。 例如:

 # cat test test file # echo test > test # cat test test # echo file >> test # cat test test file 

当你使用>时,如:

$ echo "this is a test" > output.txt

>运算符将完全覆盖文件output.txt中的任何内容(如果存在)。 如果文件不存在,将会创建内容为“这是一个测试”。

这个用法:

$ echo "this is a test" >> output.txt

将output.txt中的任何内容(称为“附加”)添加到“这是测试”链接。 如果该文件不存在,则会被创建,文本将被添加。

在这里添加更多知识。

我们也可以使用tee命令来执行相同的操作:

 cat newfile | tee filename - rewrites/replaces the file with new content in filename cat newfile | tee -a filename - appends to the existing content of the file in filename file