I/O的重新定向与管道

发布时间 2023-11-30 09:19:37作者: 刘昊20218560

1.I/O重定向

文件描述符:

0表示标准输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符。

(1)输出重定向

”>“表示覆盖,默认情况下,该重定向会覆盖已有文件,这个在有时候可能不经意间丢失重要数据。

”>>“表示追加,可以避免覆盖文件。

”2>“:表示错误输出覆盖重定向。

”2>>“:表示错误输出追加重定向。 

”&>“:表示合并标准输出和错误输出覆盖重定向。

”&>>“:表示合并标准输出和错误输出追加重定向。 

”2>&1“:表示意义同&>即合并标准输出和错误输出覆盖重定向。

(2)输入重定向

输入和输出重定向异曲同工。

”<“:表示输入重定向。

”<<“:表示多行输入。

”set -C“命令:禁止覆盖重定向。

 ”>|“:表示强制覆盖重定向(与set -C相反)。

”set +C“命令:解除禁止覆盖重定向的设置。

2.进程管道

管道实际上也是一种重定向,重定向字符控制输出到文件,管道控制输出到其他程序。