The directory /srv/old still contains files and subdirectories. Which command removes it together with everything inside it?
LPIC-1 Exam 101-500, objective 103. GNU and Unix commands 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 rmdir -p /srv/old
Wrong. -p makes rmdir also remove the parent directories after the target, but every one of them still has to be empty first.
Not correct rmdir /srv/old
Wrong. rmdir removes only EMPTY directories; on a non-empty one it fails with 'Directory not empty'.
Not correct rm /srv/old
Wrong. Without -r, rm refuses a directory and reports 'cannot remove ...: Is a directory'.
Correct rm -r /srv/old
Correct. -r (or -R) recurses into the directory and removes its contents and then the directory itself.
Why
rmdir is deliberately limited to empty directories, which makes it the safe tool. rm -r deletes a whole tree; -f additionally suppresses prompts and missing-file errors, and -i asks before each deletion. There is no undo, so the combination rm -rf with a variable or a glob in the path deserves real care.
Where this comes from
- Cited
- LPI exam objective 103.3
- What it says
- Remove files and directories, including recursive removal.
Practise this
Reading one question is not practice. The trainer will draw a set from objective 103 and space the ones you get wrong.