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.
More questions on this objective
- A new disk /dev/sdb has no partition table at all. Which command writes an empty GPT partition table onto it without dropping you into an interactive editor? machine-checked
- You need the partition /dev/sdc1 on a USB stick to carry a FAT32 filesystem so that Windows machines can read and write it. Which command creates it? machine-checked
- You have just run `mkswap /dev/sdb2`. Which command makes the kernel start using that swap area immediately, without a reboot? machine-checked
- Why is it dangerous to run e2fsck against an ext4 filesystem that is currently mounted read-write? machine-checked
- On an ext4 filesystem at /dev/sda1 you want an automatic check to be forced after every 30 mounts. Which command sets that? machine-checked
- `df -h /var` reports the filesystem 100% full, but `du -sh /var` accounts for only about half that space. Nothing is hidden under a mount point. What is the most likely explanation? machine-checked
All questions on Devices, Linux filesystems, filesystem hierarchy standard