Zaznaczanie większej ilości plików

Wiele razy się zdarza, że np. potrzebujemy usunąć wszystkie pliki z jakąś nazwą w pliku, albo wypisanie na ekran wszystkich plików z danym rozszerzeniem. Poniżej podam jak to się robi.

* - Może to zastąpić wiele znaków. Np. ls *.txt wypisze
wszystkie pliki z rozszerzeniem *.txt, samo ls * wypisze
wszystkie pliki...
*.* - Takie coś oznacza wszystkie pliki z kropką w nazwie.
*cos - Gdy napiszemy ls *cos to zostaną wypisane wszystkie pliki,
które kończą się na cos, czyli np. hehecos, xcos itd.
Analogicznie sytuacja odnosi się do cos* gdzie zostaną
wypisane pliki kończące się na cos, albo *nazwa* gdzie
zostaną wypisane pliki zawierające cos w nazwie.
Oczywiście może być też sytuacja a*b co wypisze wszystko
co zaczyna się na a, a kończy na b ;-)
? - Zastępuje dowolny znak. Czyli np. ls a?c może wypisać
wszystko co zaczyna się na a, kończy na c, a pomiędzy tymi
dwoma literami jest tylko jeden znak.
[abc] - Gdy wydamy komende np. ls [abc] to wypisze nam pliki o
nazwie a, b lub c.
[a-z] - Oznacza pliki od a do z.
plik[0-9] - Np. komedna ls plik[0-9] wypisze nam pliki plik0, plik1 i
tak do plik9.
[Aa] - Chodzi tutaj o literę A lub a. Czyli np. gdybyśmy wydali
komendę ls [Aa].txt to wypisze nam pliki a.txt i A.txt.
Oczywiście można wpisać więcej nawiasów. Np. gdy damy ls
[Aa][Bb].txt to wypisze nam pliki AB.txt, Ab.txt, aB.txt i
ab.txt ;-) Itd.
plik.{exe,dat,txt} - Pasuje do plik.exe, plik.dat lub plik.txt

Przykłady podawałem z wykorzystaniem komendy ls ale korzystać można z tego wszędzie ;-) No i oczywiście wyżej podane kryteria zaznaczania plików można ze sobą łączyć w kolejności jakiej potrzebujemy np. \*?[Zz]?[Bb][uod].{txt,dat} ;-)