A minta behelyettesítése

A shell a minta helyére behelyettesíti az összes olyan fájlnevet (az adott könyvtárban), ami illeszkedik a mintára, abc sorrendben. Például, ha egy könyvtárban a következõ fájlok vannak: 
$ ls
README.Debian        isodemo              pvmpov.doc.gz
README.data          isodocs              res1024.ini
README.pvmpov        low.ini              res120.ini
allscene.ini         pngflc.ini           res320.ini
changelog.Debian.gz  pov3demo             res640.ini
changelog.gz         povray.doc.gz        res800.ini
copyright            povray.ini           slow.ini
docsdemo             povscn               texsamps
gamma.gif            ppmmpeg.ini          tgafli.ini
gamma.gif.txt        pvm_install.doc
$
akkor a ''*.ini'' helyére az ''allscene.ini povray.ini res120.ini res800.ini low.ini ppmmpeg.ini res320.ini slow.ini pngflc.ini res1024.ini res640.ini tgafli.ini'' kerül. Tehát az 
$ ls *.ini
parancs kiadásakor a shell behelyettesítése miatt valójában a következõ parancs lesz végrehajtva: 
$ ls allscene.ini povray.ini res120.ini res800.ini low.ini ppmmpeg.ini res320.ini slow.ini pngflc.ini res1024.ini res640.ini tgafli.ini
vagyis kilistázza a fenti fájlokat. A behelyettesítést nem az ls hajtja végre, hanem a shell.

Ha nincs olyan fájl, ami a mintára illeszkedik, akkor a parancs magát a mintát kapja meg. Ez az ls esetében azt jelenti, hogy egy - a mintával azonos nevû - fájlt szeretnénk kiiratni - s mivel ilyen nem létezik, az ls kiírja, hogy nem találja a fájlt.

$ ls *xxx
ls: *xxx: No such file or directory
$
Sok parancsnak adható meg több fájlnév. Ha a cp és mv parancsoknak több fájlnevet adunk meg, akkor ezek után egy könyvtárat kell megadnunk, melybe a felsorolt fájlok kerülnek. Az rm parancs is használható több fájlnévvel. Ebben az esetben a felsorolt fájlok mind törlõdnek.
 
Veszély
Más operációs rendszerek esetében két minta egymás után írása használható speciális feladatokra, például DOS alatt a ren *.txt *.doc[1] minden .txt kiterjesztésû fájlt átnevez .doc kiterjesztésûre. Linux alatt ez nem használható, mivel mind a két minta kibontásra kerül, így az mv parancs egymásután megkapja a két mintának megfelelõ fájlneveket, nem tudván, hogy azok két mintához tartoztak.
A minták behelyettesítését két módon lehet megakadályozni. Tehetünk egy \ karaktert minden speciális karakter elé, például így: 
$ ls \*\?
ls: *?: No such file or directory
$
vagy a mintát két ' karakter közé foglalva: 
$ ls '***?'
ls: ***?: No such file or directory
$
Speciális karaktereket (*, ? és [) tartalmazó fájlnevek használata lehetséges, de nem javasolt.

Megjegyzések

[1] a ren az mv DOS-beli megfelelõje.