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.