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

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

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 short set from objective 104 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on Devices, Linux filesystems, filesystem hierarchy standard

Practise LPIC-1 Exam 101-500