Shell_03_文件描述符

在 shell 中执行命令时,每个进程都会和三个打开的文件相联系,并使用文件描述符来引用这些文件。
由于文件描述符不容易记忆, shell 同时也给出了相应的文件名

系统中默认的描述符 对应的对象 对应的术语
默认是键盘,也可以是文件 标准输入
默认是屏幕,也可以是文件或其他命令的输出 标准输出
默认是屏幕,也可以是文件 标准错误输出
3- $(ulimit -n) 是可以自定义的描述符
可以 &3 来表示一个文件的描述符

例如:

2>&1 表示把 2 标准错误输出 重新输出到文件描述符 1 (即标准正确输出)中

command<&n 把文件描述符 n 作为标准输入

command >&n   把标准输出重定向到文件描述符中

exec n<&-    关闭文件描述符 n

数据流重导向

image.png

Shell_03_文件描述符_第1张图片
image.png

黑洞文件 /dev/null

可以将一些错误的标准输出,重新输出到/dev/null中

find /home/ -name .bashrc 2> /dev/null

一些典型案例

image.png

Shell_03_文件描述符_第2张图片
image.png

Shell_03_文件描述符_第3张图片
image.png

你可能感兴趣的:(Shell_03_文件描述符)