![디렉토리가 참조되는 방식에 따라 동일한 디렉토리 /dev/fd/에 대해 ls의 출력이 다른 이유는 무엇입니까?](https://linux55.com/image/144539/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EA%B0%80%20%EC%B0%B8%EC%A1%B0%EB%90%98%EB%8A%94%20%EB%B0%A9%EC%8B%9D%EC%97%90%20%EB%94%B0%EB%9D%BC%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%20%2Fdev%2Ffd%2F%EC%97%90%20%EB%8C%80%ED%95%B4%20ls%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
cd /dev/fd/; ls
내가 기대하는 결과를 제공합니다.
0 1 2 255
하지만:
ls /dev/fd/
내가 기대하지 않는 다른 결과를 제공합니다.
0 1 2 3
왜? 여기서 무슨 일이 일어나는가? 파일 설명자 255는 어떻게 되었나요? 파일 설명자 3이란 무엇입니까?
답변1
cd /dev/fd/; ls
셸의 파일 설명자 표시: cd
셸의 파일 설명자 디렉터리를 변경하고 ls
해당 내용을 표시합니다.
ls /dev/fd/
파일 설명자가 표시됩니다 ls
. 파일 설명자 3은 나열된 디렉터리입니다 ls
.
ls -l /dev/fd/
프로세스 식별자가 /proc/.../fd
어디를 ...
가리키는 지 표시됩니다 .ls
이 내용 자체를 살펴보면 더 쉽게 이해할 수 있습니다 /dev/fd
.
ls -ld /dev/fd
Linux에서는 /proc/self/fd
.