Fork me on GitHub

linux重定向的理解

文件重定向:

<,文件描述符是 0,标准输入
>,文件描述符是1,标准输出
文件描述符2,标准错误输出

0,1,2 都相当于一个通道
每一条命令,或者脚本,都有这三个通道

2>&1 相当于将2 的通道和1 的通道 合并,相当于一个通道了,实际上还是2个通道,只是便于我们理解,

所有命令最开始的
标准输入;键盘,鼠标
标准输出:屏幕
标准错误输出:屏幕

整个重定向的过程:
源 通道 目的
通道中的传输是数据流,最终显示到屏幕上。如果有重定向那么输出就会到重定向的设备或文件中。

ls > dirlist 2>&1
这条命令 就是 首先将 标准输出 重定向到 dirlist, 在把标准输出 的目的地 复制给了 标准错误输出的通道,

ls 2>&1 > dirlist
这条命令
首先 1和2 的默认输出都是屏幕,
然后把标准输出 的目的地 复制给了 标准错误输出的通道,
此时,1和2 的输出还是屏幕
在把 标准输出重定向到 dirlist
此时 1的输出是文件,2 的输出是屏幕。

posted @ 2019-07-17 10:44  耳_东  阅读(901)  评论(0)    收藏  举报