Difficulty: Easy
Correct Answer: ?
Explanation:
Introduction / Context:Shell wildcards (globs) expand patterns to filenames and paths. Knowing how ?, , and character classes work is essential for accurate file selection and scripting.
Given Data / Assumptions:
Concept / Approach:The ? wildcard matches exactly one character. The * wildcard matches any number of characters, including none. Character classes [ijk] match exactly one character but limited to the listed set; [!ijk] matches one character not in the set.
Step-by-Step Solution:
Need exactly one arbitrary character → use ?Need zero or more characters → use Need one character from a set → use [abc]Need one character not in a set → use [!abc]Verification / Alternative check:Test with files: touch a1 a2 ab; ls a? matches a1 and a2 but not ab if more characters follow; ls a matches all beginning with a.
Why Other Options Are Wrong:: Matches zero or more characters, not exactly one. [ijk]: One character but restricted to i, j, or k only. [!ijk]: One character not i, j, or k. None of the above: Incorrect since ? is correct.
Common Pitfalls:Confusing shell globs with regular expressions; expecting ? to match directory separators when globbing (it does not cross /).
Final Answer:?
Discussion & Comments