디렉토리를 확인하면 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
.