Gnubin의 링크가 잘못되었지만 여전히 작동합니다.

Gnubin의 링크가 잘못되었지만 여전히 작동합니다.

디렉토리를 확인하면 ls -l /usr/local/opt/coreutils/libexec/gnubin다음과 같이 제공됩니다.

$ ls -l /usr/local/opt/coreutils/libexec/gnubin
total 0
lrwxr-xr-x 1 me admin 12 Oct 27 12:50 '[' -> '../../bin/g['
lrwxr-xr-x 1 me admin 16 Oct 27 12:50  b2sum -> ../../bin/gb2sum
lrwxr-xr-x 1 me admin 17 Oct 27 12:50  base32 -> ../../bin/gbase32
lrwxr-xr-x 1 me admin 17 Oct 27 12:50  base64 -> ../../bin/gbase64
lrwxr-xr-x 1 me admin 19 Oct 27 12:50  basename -> ../../bin/gbasename
lrwxr-xr-x 1 me admin 14 Oct 27 12:50  cat -> ../../bin/gcat
....

주의 깊게 살펴봐

`rwxr-xr-x 1 me admin 16 Oct 27 12:50  b2sum -> ../../bin/gb2sum`

b2sum상위 폴더에 대한 링크가 표시됩니다 .

$ pwd
/usr/local/opt/coreutils/libexec/gnubin
$ cd ../..
$ pwd
/usr/local/opt/coreutils
$ ls | grep gb2sum
# return nothing

실제로 그러한 기능은 존재하지 않으며 gb2sum다음 위치에 있습니다.

$ which gb2sum
/usr/local/bin/gb2sum

주소는 중요하지 않습니다 ../../bin/gb2sum. 링크가 로 표시되는 이유는 무엇입니까 lrwxr-xr-x 1 me admin 16 Oct 27 12:50 b2sum -> ../../bin/gb2sum?

답변1

나는 당신이 심볼릭 링크 경로의 한 구성 요소를 간과하고 있다고 생각합니다.

rwxr-xr-x 1 me admin 16 Oct 27 12:50  b2sum -> ../../bin/gb2sum
                                                     ^----------here                 

이 섹션을 완료했지만 ../..다음 중 아무것도 수행하지 않았습니다.

ls -l bin/gb2sum

또는

cd bin
ls -l gb2sum

이 상황 /usr/local/bin/gb2sum자체가 심볼릭 링크로 인해 /usr/local/opt/coreutils/bin/gb2sum.

관련 정보