如何将输出附加到文件?


125

我该怎么做才能command > file将其附加到文件中而不是覆盖?


1
bash参考手册中有很多(也许太多了!)好东西,包括各种重定向。根据shell的需要进行调整。)

4
如果要重定向到STDOUT并将结果附加到文件,也可以使用tee。例如:echo“ hello” | tee -a somefile.txt,其中-a标志代表添加。
亨里克(Henrik)

Answers:



103

是的

command >> file只是重定向标准输出command

command >> file 2>&1stdoutstderr重定向到文件(在bash,zsh中有效)

如果您需要使用sudo,请记住

sudo command >> /file/requiring/sudo/privileges不起作用,因为特权提升适用于command外壳重定向部分,但不适用于外壳重定向部分。但是,只需使用即可 tee解决问题:

command | sudo tee -a /file/requiring/sudo/privileges


6
我将其用于所有输出捕获程序。sh2>&1 | tee-一个screen.log。“ -a”代表追加。
Xdg

-3

您可以在文件后附加>>符号。它将内容插入到我们正在使用的文件的最后。例如,如果文件名为myfile包含xyz,则cat >> myfile abc ctrl d

经过上述过程,myfile包含xyzabc。


4
>>运营商提到三年前已经和OP知道什么附加装置。
Dan Dascalescu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.