Linux输出重定向

本文概述

  • > 标准输出
  • 输出文件被删除
  • 夜尿
  • 否决夜尿
  • > > 追加
输出重定向用于将一个命令的输出放入文件或另一命令。
> 标准输出 标准输出使用大于符号的” > ” 重定向。当shell遇到’ > ’ 符号时, 它将清除文件(你已经知道)。
例:
echo Hello everyone. > afile.txt

Linux输出重定向

文章图片
查看上面的快照, 大于符号’ > ’ 将命令’ echo’ 输出重定向到文件’ afile.txt’ 。
输出文件被删除 在输出重定向中, 在扫描命令行期间, shell将通过’ > ’ 符号遇到并清除文件。
例:
zcho Welcome > afile.txt

Linux输出重定向

文章图片
查看上面的快照, 命令” zcho Welcome> afile.txt” 是错误的, 但仍然清除了文件” afile.txt” 。
夜尿 我们可以借助noclobber选项在使用’ > ’ 符号时防止文件删除。
句法:
set -o noclobber (To prevent overwrite)set +o noclobber (To overwrite)

例:
echo Learn Linux. > newfile.txt

Linux输出重定向

文章图片
查看上面的快照, 命令” set -o noclobber” 可防止文件被覆盖。
但是命令” set + o noclobber” 允许你覆盖现有文件。
否决夜尿 否决noclobber意味着你可以在使用’ > |’ 设置noclobber的情况下覆盖现有文件标志。
句法:
command > | < fileName>

例:
echo Welcome to srcmini. > | newfile.txt

Linux输出重定向

文章图片
查看上面的快照, 并带有大于” > ” 的符号, bash不允许覆盖文件” newfile.txt” 。但是用’ > |’ 签名文件被覆盖。
> > 追加 附加” > > ” 符号不会覆盖文件内容, 因此会显示新旧文件内容。
句法:
command > > < fileName>

例:
echo You all are welcome here. > > newfile.txt

Linux输出重定向

文章图片
【Linux输出重定向】看上面的快照, 文件” newfile.txt” 没有被附加命令覆盖。新内容随旧内容一起显示。

    推荐阅读