search /bin を見つけて見つけてみませんか?

search /bin を見つけて見つけてみませんか?

何が起こっているのか?通常のコマンドfindlocateコマンドでは、にある検証プログラムが見つかりません/bin/verify。実際、にあるものは何も見つからないようです。/bin

[jake@jace]/bin% "find" /bin/ -iname "verify" 2>/dev/null
/bin/verify
[jake@jace]/bin% "find" /bin -iname "verify" 2>/dev/null 
[jake@jace]/bin% "find" / -iname "verify" 2>/dev/null 
/home/jake/android/cts/tools/vm-tests-tf/src/dot/junit/verify
/usr/share/cmake/Modules/FortranCInterface/Verify
/usr/bin/verify

[jake@jace]/bin% locate "verify" | grep "bin"
/usr/bin/db_log_verify
/usr/bin/db_verify
/usr/bin/fprintd-verify
/usr/bin/json_verify
/usr/bin/ldns-verify-zone
/usr/bin/rpmverify
/usr/bin/verify
/usr/bin/verifytree

[jake@jace]/bin% "ls" -lh /bin/verify
-rwxr-xr-x. 1 root root 32K May 22  2012 /bin/verify

答え1

ああ。

[jake@jace]/bin% ls -lhd /bin
lrwxrwxrwx. 1 root root 7 May 22  2012 /bin -> usr/bin/

私は Fedora 17 を実行しています。どうやら は に/binシンボリックリンクされているようです/usr/bin。そしてもちろん (そして当然ですが)結果の汚染を避けるために、findと はlocateシンボリックリンクされたディレクトリを無視します。

答え2

これはenv [コマンド]のよい使い方です

env verify

コマンドがどこにあるかわからない場合にコマンドを呼び出す 1 つの方法です。

ところで、/bin は多くのシステム (Solaris など) 上のシンボリックリンクです。

関連情報