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.

Practise LPIC-1 Exam 101-500