来自https://www.gnu.org/s/bash/manual/html_node/Redirections.html
在执行命令之前,可以使用shell解释的特殊符号重定向其输入和输出。重定向允许命令的文件句柄被复制、打开、关闭、用于引用不同的文件,并且可以更改命令读取和写入的文件。重定向也可用于修改当前shell执行环境中的文件句柄。
然而,链接中的以下文本显示,重定向对文件描述符(即整数)进行操作。
文件句柄和文件描述符是不同的。在https://en.wikipedia.org/wiki/File_descriptor#Overview中,文件句柄是C标准库中FILE的数据结构。文件描述符是Unix和类Unix操作系统中的对象.
在引号中,bash手册中的“文件句柄”是什么意思?
发布于 2015-12-08 04:25:44
(在Linux系统中)如果您编写:
ls -l /proc/$/fd它将打开fd (文件描述符)列表:
lrwx------ 1 user user 64 dic 8 00:06 0 -> /dev/pts/12
lrwx------ 1 user user 64 dic 8 00:06 1 -> /dev/pts/12
lrwx------ 1 user user 64 dic 8 00:06 2 -> /dev/pts/12
lrwx------ 1 user user 64 dic 8 00:06 255 -> /dev/pts/12那是也称为“文件句柄”。
如你所见,数字是0,1,2,与stdin(0),stdout(1),stderr(2)相同。
因此,重定向工作与这些数字(as >&2)和一些新的数字可以创建(as >&18)。
这些文件描述符还可以被其他一些旧名称访问,如: /dev/stdout、/dev/fd1 1或其他一些。
维基百科有一个合理的良好描述
https://unix.stackexchange.com/questions/248018
复制相似问题