Par exemple, si l'on entre ls *.c, le shell remplace l'argument
*.c par la liste des fichiers du répertoire courant dont le nom
termine par .c.
Les métacaractères permettent donc de spécifier facilement des ensembles de fichiers, sans avoir à rentrer tous leurs noms. Voici les plus utilisés :
* remplacé par n'importe quelle suite de caractères;
? remplacé par un seul caractère quelconque;
[ ] remplacé par l'un des caractères mentionnés entre
les crochets. On peut spécifier un intervalle avec - : [a-z]
spécifie donc l'ensemble des lettres minuscules.
Exemples :
$ ls ABCDEF a grrr prog prog.o Q.R.S aa hel.l.o prog.c x.y.z $ ls A* ABCDEF $ ls *.c prog.c $ ls *g* grrr prog prog.c prog.o $ ls *.? Q.R.S hel.l.o prog.c prog.o x.y.z $ ls [hg]* grrr hel.l.o $ ls *.[a-z].* hel.l.o x.y.z
On peut empècher l'interprétation des métacaractères par le shell en
plaçant l'argument entre apostrophes '.