数据流的世界,带你了解Linux重定向

今天,小编就带大家一起来看看数据重定向。

重定向:将原本输出到标准输出的数据重定向到一个文件中。

用于终端显示输出的特殊设备:

IO重定向是为了改变默认输入、输出的位置:

输出重定向(标准输出STDOUT和标准错误输出STDERR)

【>】标准输出覆盖重定向

【>>】标准输出追加重定向

【2>】标准错误输出重定向

【2>>】标准错误输出追加重定向

【&>】将标准输出和标准错误输出都同时重定向(相当于二次重定向【2>&1】)

【&>>】将标准输出和标准错误输出都同时追加重定向

【set -C】命令:启用系统禁止覆盖重定向(set -C执行后,再做重定向时,重定向文件如果存在则会报错 cannot overwrite existing file)如果在启用【set -C】命令后依然需要覆盖重定向文件,可以使用【>|】来强制覆盖

【set +C】命令:解除禁止覆盖重定向(set +C执行后,重定向文件如果存在则不会报错,直接覆盖)

1.标准输入的控制

作用:将命令重定向到文件中。

语法:命令 < 文件

把test.file的文件的内容发送到cat命令上。

2.标准输出的控制

1)将命令的执行结果送至指定的文件中

①语法:命令 > 文件

②实例:将执行 ls -l 命令的结果写入文件 test.file中

2.标准错误重定向

如果我们需要隐藏某些错误或者警告,此时需要使用重定向符号"&",其格式为:2>&1。

现在正确的内容和错误的内容都重定向到了test2文件。

3.tee 命令

1.作用:用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin,即把数据重定向到给定文件和屏幕上。

4.exec 命令

exec 命令使用指定的命令替换当前的 Shell,即使用一个进程替换当前进程,或者指定新的重定向。

格式:exec 文件描述符 > 文件名

这样就把所有的数据导入到test里了。

看到 0-2 号文件描述符默认打开

创建新的文件格式符:exec > 要开启的文件描述符

5.关闭文件描述符

格式:exec >&-

看见3被重定向到了/root/test2了。

那我们来取消3的重定向

重定向就被取消了!!

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。(送免费资料和优惠券)

就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券!

原文链接:,转发请注明来源!