Znaki wieloznaczne służą do dopasowywania nazw plików i katalogów w powłoce systemu Linux, np. Bash. Mechanizm ten nazywa się często globbingiem. Dzięki niemu można wykonać polecenie na wielu plikach naraz bez wpisywania każdej nazwy osobno.
Najważniejsze symbole
*— zastępuje dowolny ciąg znaków, także pusty.?— zastępuje dokładnie jeden dowolny znak.[abc]— dopasowuje jeden znak z podanego zestawu, np.a,balboc.[a-c]— dopasowuje jeden znak z zakresu odadoc.[!abc]— dopasowuje jeden znak inny niża,blubc.
Przykłady
ls *.txt
Wyświetla pliki z rozszerzeniem .txt w bieżącym katalogu.
ls /home/user/[a-c]*.txt
Wyświetla pliki w katalogu /home/user, których nazwa zaczyna się od a, b lub c, a kończy się na .txt.
ls plik?.txt
Dopasuje np. plik1.txt, ale nie dopasuje plik10.txt, ponieważ ? oznacza dokładnie jeden znak.
Ważne na egzaminie
Wzorzec [a-c]*.txt oznacza: pierwszy znak nazwy to a, b lub c, potem może wystąpić dowolny ciąg znaków, a nazwa musi kończyć się na .txt. To nie jest wyszukiwanie rekurencyjne — polecenie ls /home/user/[a-c]*.txt sprawdza tylko wskazany katalog, a nie jego podkatalogi.