Linux

為什麼同一個目錄 /dev/fd/ 的 ls 輸出根據引用該目錄的方法不同?

  • December 12, 2018
cd /dev/fd/; ls

給我我期望的輸出:

0  1  2  255

但:

ls /dev/fd/

給出了我沒想到的不同輸出:

0  1  2  3

為什麼?這裡會發生什麼?文件描述符 255 發生了什麼?什麼是文件描述符 3?

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.

引用自:https://unix.stackexchange.com/questions/487649