您可能經常想用一個命令對一組文件進行操作。通配符通常用於構築一個檔案名稱的擴展模式:一系列的字符和通配符可以擴展為一系列檔案名稱。比如:模式 /etc/* 擴展為所有
/etc 目錄下的檔案。
* 這個通配符可以代表任何連續的字符,所以 /etc/* 將擴展為所有的以 /etc/ 開頭的檔案名稱的列表。
作為命令的一組參數,檔案名稱列表顯得最為有用。舉個例子,/etc 目錄含有一系列叫做 rc0.d、rc1.d 等子目錄。平常要看這些子目錄的內容,您要輸入:
ls /etc/rc4.d /etc/rc5.d /etc/rc6.d /etc/rcS.d
這些夠枯燥的吧。替代的方法是,您可以使用 ? 這個通配符:
/etc/rc?.d 擴展為以 rc 開頭,後跟一個字符而且以 .d 結尾的一系列檔案名稱。
有效的通配符包括:
[abc] 匹配 a 或 b 或 c。如果您在左方括號加一個 ^,結果將是相反的;所以 ^abc 匹配所有非 a、非 b、非 c 的字符。您可使用一個範圍,諸如 [a-j] 匹配 a 到 j 之間的所有單一字符。這些匹配是大小寫敏感的,為了匹配任何字母,您必須使用 a-zA-Z。
當您看了一些具體例子後,擴展名模式對您就變得相當簡單了:
* 匹配一切。