A directory contains the single file log2024.txt. Select the THREE shell glob patterns that match that file name.

LPIC-1 Exam 101-500, objective 103. GNU and Unix commands hard

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

Choose 3.

Not correct log?.txt

Wrong. ? matches exactly ONE character, so this matches log1.txt but not the four digits in log2024.txt.

Correct log*.txt

Correct. * matches any string including an empty one, so it covers 2024.

Not correct log[!0-9]*.txt

Wrong. [!...] is a negated bracket expression: it requires the character after log NOT to be a digit, and here it is 2.

Correct log[0-9]*.txt

Correct. [0-9] matches the single character 2, then * matches the remaining 024.

Correct *2024*

Correct. The literal 2024 is present, the leading * matches log and the trailing * matches .txt. Note this pattern has no .txt requirement, so it would also match a file named report2024.csv.

Why

The shell, not the command, expands globs before the command runs. * matches any string including the empty string, ? matches exactly one character, [abc] and [a-z] match one character from a set or range, and [!abc] (or [^abc]) matches one character NOT in the set. None of them match a leading dot in a file name unless you write it explicitly.

Where this comes from

Cited
LPI exam objective 103.3
What it says
Use wildcard patterns to match multiple file names.

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