linux重定向的理解

Posted czlan91

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的输出是屏幕。

以上是关于linux重定向的理解的主要内容,如果未能解决你的问题,请参考以下文章

Linux深入理解重定向inode详解与软硬链接的概念及区别

Linux深入理解重定向inode详解与软硬链接的概念及区别

linux重定向的理解

Linux就该这么学——初识重定向

实验理解Linux SHELL 输入输出重定向

Linux系统编程:基础IO 下dup2 实现输出重定向输入重定向追加重定向 | 理解磁盘 | 理解文件系统中inode的概念 | 软硬链接