You type `mytool` and want to know exactly which executable file the shell will run, based on your current PATH. Which command answers that?

LPIC-1 Exam 101-500, objective 104. Devices, Linux filesystems, filesystem hierarchy standard easy

Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.

It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.

The options

Not correct find / -name mytool

Wrong for this question. find does a live scan of the whole tree and lists every match; it is slow here and still tells you nothing about which one PATH selects.

Not correct whereis mytool

Wrong for this question. whereis reports the binary, source and manual page locations it can find, searching a built-in list of standard directories as well as PATH, and it prints every match it turns up. It does not tell you which single one the shell would pick, and it can list binaries in directories that are not on your PATH at all.

Not correct locate mytool

Wrong. locate greps a prebuilt filename database for anything matching the pattern anywhere on disk, ignoring PATH and ignoring whether the match is even executable.

Correct which mytool

Correct. which walks the directories in $PATH in order and prints the first matching executable — the same search the shell performs.

Why

which resolves a command against $PATH exactly as the shell would. whereis looks in a standard set of locations (plus PATH) for the binary, its sources and its man page, and reports all of them. locate is a fast database lookup for filenames anywhere. find is a live, precise, slow search. Note that shell built-ins and aliases are invisible to which — for those, bash's `type` is the honest answer.

Where this comes from

Cited
LPI exam objective 104.7
What it says
Find system files using which, whereis, locate and find.

Practise this

Reading one question is not practice. The trainer will draw a set from objective 104 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500