File and Directory Wildcards
When you have a number of files named in series (for example,
chap1 to chap12) or filenames with common characters
(like aegis, aeon, and aerie), you can use
wildcards (also called metacharacters) to specify many
files at once. These special characters are * (asterisk), ?
(question mark), and [ ] (square brackets). When used in a
filename given as an argument to a command:
- *
An asterisk is replaced by any number of characters in a filename. For example, ae* would match aegis, aerie, aeon, etc. if those files were in the same directory. You can use this to save typing for a single filename (for example, al* for alphabet.txt) or to name many files at once (as in ae*).
- ?
A question mark is replaced by any single character (so h?p matches hop and hip, but not help).
- []
Square brackets can surround a choice of characters you’d like to match. Any one of the characters between the brackets will be matched. For example, [Cc]hapter would match either Chapter or chapter, but [ch]apter would match either capter or hapter. Use a hyphen (-) to separate a range of consecutive characters. For example, chap[13] would match chap1, chap2, or chap3.
The examples below demonstrate the use of wildcards. The first command lists all the entries in a directory, and the rest use wildcards to list just some of the entries. The last one is a little tricky; it matches files whose names contain two (or more) a’s.
% ls chap10 chap2 chap5 cold chap1a.old chap3.old chap6 haha ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access