Linux 输出重定向
Linux输出重定向
输出重定向用于将一个命令的输出放置到文件或另一个命令中。
> stdout
使用">"(大于符号)重定向标准输出。当shell遇到'>'符号时,它将清除文件(您已经知道)。
示例:
echo Hello everyone. > afile.txt
看上面的快照,大于符号'>'重定向命令'echo'
已删除输出文件
在输出重定向中,在扫描命令行期间,shell将通过遇到。'>'签名,将清除文件。
示例:
查看上面的快照,命令"zcho Welcome> afile.txt" 是错误的,但仍然清除了文件'afile.txt'。
noclobber
我们可以在将'>'符号与
语法:
set-o noclobber (To prevent overwrite)
set +o noclobber (To overwrite)
示例:
echo Learn Linux. > newfile.txt
看上面的快照,命令" set-o noclobber" 防止文件被覆盖。
但是命令" set + o noclobber" 允许您覆盖现有文件。
否决Noclobber
否决Noclobber意味着您可以在使用'> |'设置Noclobber的同时覆盖现有文件。
语法:
示例:
echo Welcome to lidihuo. >| newfile.txt
看上面的快照,带有大于">"的符号,bash不会允许覆盖文件"newfile.txt"。但是用' < | '签名文件被覆盖。
<<附加
附加'<<'符号不会覆盖文件内容,因此会显示新文件和旧文件。
语法:
示例:
echo You all are welcome here. >> newfile.txt
看上面的快照,文件" newfile.txt"不会被附加命令覆盖。新的内容显示在旧的内容中。