一文带你了解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命令上 。

一文带你了解Linux重定向 重定向是什么意思

文章插图
2.标准输出的控制
1)将命令的执行结果送至指定的文件中
①语法:命令 > 文件
②实例:将执行 ls -l 命令的结果写入文件 test.file中

一文带你了解Linux重定向 重定向是什么意思

文章插图
2.标准错误重定向

一文带你了解Linux重定向 重定向是什么意思

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

一文带你了解Linux重定向 重定向是什么意思

文章插图

一文带你了解Linux重定向 重定向是什么意思

文章插图
现在正确的内容和错误的内容都重定向到了test2文件 。
3.tee 命令
1.作用:用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin,即把数据重定向到给定文件和屏幕上 。

一文带你了解Linux重定向 重定向是什么意思

文章插图
4.exec 命令
exec 命令使用指定的命令替换当前的 Shell,即使用一个进程替换当前进程,或者指定新的重定向 。
格式:exec 文件描述符 > 文件名

一文带你了解Linux重定向 重定向是什么意思

文章插图
这样就把所有的数据导入到test里了 。
看到 0-2 号文件描述符默认打开

一文带你了解Linux重定向 重定向是什么意思

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

一文带你了解Linux重定向 重定向是什么意思

文章插图
5.关闭文件描述符
格式:exec >&-

一文带你了解Linux重定向 重定向是什么意思

文章插图
看见3被重定向到了/root/test2了 。
那我们来取消3的重定向
【一文带你了解Linux重定向 重定向是什么意思】
一文带你了解Linux重定向 重定向是什么意思

文章插图
重定向就被取消了!!

    推荐阅读