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

私はあなたがシンボリックリンクパスの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

おすすめ記事