Was ist los? Normale find
und locate
Befehle führen nicht zum Aufruf des Prüfprogramms, das sich unter befindet /bin/verify
. Tatsächlich scheinen sie nichts zu finden, das sich unter befindet./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
Antwort1
Mann.
[jake@jace]/bin% ls -lhd /bin
lrwxrwxrwx. 1 root root 7 May 22 2012 /bin -> usr/bin/
Ich verwende Fedora 17. Anscheinend /bin
ist symbolisch verknüpft mit /usr/bin
. Und natürlich (und völlig zu Recht) ignoriere find
ich locate
symbolisch verknüpfte Verzeichnisse, um eine Ergebnisverunreinigung zu vermeiden.
Antwort2
Dies ist eine gute Verwendung für env [Befehl]
env verify
Ist eine Möglichkeit, einen Befehl aufzurufen, wenn Sie nicht wissen, wo er sich befindet.
Übrigens: /bin ist auf vielen Systemen ein symbolischer Link, beispielsweise auf Solaris.