1

What gives? Normal find and locate commands don't turn up the verify program that lives at /bin/verify. In fact, it seems they don't turn up anything that lives in /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
5
  • 1
    Out of curiosity, why are you quoting the command names?
    – user26112
    May 1, 2013 at 0:31
  • @EvanTeitelman I alias a lot of commands. Quotes strip the aliasing. Eg, locate and grep (forgot to quote) are aliased to "locate" -i and "grep" -i --color=auto
    – djeikyb
    May 1, 2013 at 0:36
  • 1
    You can prepend your commands with backslashes instead: \ls -lh /bin/verify.
    – user26112
    May 1, 2013 at 0:37
  • @EvanTeitelman neat. is that posix? or just bash?
    – djeikyb
    May 1, 2013 at 2:38
  • 1
    According to this, the backslash just escapes the first character of the word, which causes the entire word to be considered "quoted" for the purposes of function calls and alias expansion. Words are not expanded as aliases if they are quoted. You could do ''ls, l''s, or ""ls as well.
    – user26112
    May 1, 2013 at 13:00

2 Answers 2

5

Gah.

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

I'm running Fedora 17. Apparently /bin is symlinked to /usr/bin. And of course (and quite rightly) find and locate ignore symlinked directories to avoid result pollution.

2
  • 1
    Some background. May 1, 2013 at 1:26
  • 1
    @JoelDavis The site doesn't let you accept your own answer right away. I will as soon as I can!
    – djeikyb
    May 1, 2013 at 2:36
0

This is a good use for env [command]

env verify

Is one way to invoke a command when you do not know where it is.

BTW: /bin is a symlink on a lot of systems , Solaris for example.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .