个性化阅读
专注于IT技术分析

Linux输出重定向

本文概述

输出重定向用于将一个命令的输出放入文件或另一命令。

>标准输出

标准输出使用大于符号的”>”重定向。当shell遇到’>’符号时, 它将清除文件(你已经知道)。

例:

echo Hello everyone. > afile.txt
Linux输出重定向1

查看上面的快照, 大于符号’>’将命令’echo’输出重定向到文件’afile.txt’。

输出文件被删除

在输出重定向中, 在扫描命令行期间, shell将通过’>’符号遇到并清除文件。

例:

zcho Welcome > afile.txt
Linux输出重定向2

查看上面的快照, 命令” zcho Welcome> afile.txt”是错误的, 但仍然清除了文件” afile.txt”。

夜尿

我们可以借助noclobber选项在使用’>’符号时防止文件删除。

句法:

set -o noclobber	(To prevent overwrite)
set +o noclobber	(To overwrite)

例:

echo Learn Linux. > newfile.txt
Linux输出重定向3

查看上面的快照, 命令” set -o noclobber”可防止文件被覆盖。

但是命令” set + o noclobber”允许你覆盖现有文件。


否决夜尿

否决noclobber意味着你可以在使用’> |’设置noclobber的情况下覆盖现有文件标志。

句法:

command >| <fileName>

例:

echo Welcome to srcmini. >| newfile.txt
Linux输出重定向4

查看上面的快照, 并带有大于”>”的符号, bash不允许覆盖文件” newfile.txt”。但是用’> |’签名文件被覆盖。


>>追加

附加” >>”符号不会覆盖文件内容, 因此会显示新旧文件内容。

句法:

command >> <fileName>

例:

echo You all are welcome here. >> newfile.txt
Linux输出重定向5

看上面的快照, 文件” newfile.txt”没有被附加命令覆盖。新内容随旧内容一起显示。

赞(0)
未经允许不得转载:srcmini » Linux输出重定向

评论 抢沙发

评论前必须登录!