Łukasz Zaroda Asked: 2018-12-13 13:02:15 +0800 CST2018-12-13 13:02:15 +0800 CST 2018-12-13 13:02:15 +0800 CST 为什么 ls 的输出对于同一目录 /dev/fd/ 基于引用此目录的方法不同? 772 cd /dev/fd/; ls 给我预期的输出: 0 1 2 255 但: ls /dev/fd/ 给出我不期望的不同输出: 0 1 2 3 为什么?这里会发生什么?文件描述符 255 发生了什么?什么是文件描述符 3? linux ls 1 个回答 Voted Best Answer Stephen Kitt 2018-12-13T13:06:18+08:002018-12-13T13:06:18+08:00 cd /dev/fd/; ls 显示 shell 的文件描述符:cd更改 shell 的文件描述符目录,并ls显示其内容。 ls /dev/fd/ 显示ls的文件描述符。文件描述符 3 是以下列出的目录ls: ls -l /dev/fd/ 将显示它指向/proc/.../fd,其中...是ls进程标识符。 如果你看一下它自己,可能会更容易理解这一点/dev/fd: ls -ld /dev/fd 在 Linux 上,它指向/proc/self/fd.
显示 shell 的文件描述符:
cd
更改 shell 的文件描述符目录,并ls
显示其内容。显示
ls
的文件描述符。文件描述符 3 是以下列出的目录ls
:将显示它指向
/proc/.../fd
,其中...
是ls
进程标识符。如果你看一下它自己,可能会更容易理解这一点
/dev/fd
:在 Linux 上,它指向
/proc/self/fd
.