萬用字元是以一個名稱指定多重檔案或目錄名稱的便捷方式。最有用的兩種萬用字元為*和?。*可用於任何字元順序(字串),包括無字元的情形;?則可用於任何一個單一字元。
* 萬用字元 |
 |
*萬用字元代表「任何一個字元,無字元亦可」。假設您已在現行工作目錄中建立下列檔案:
$ lsf myfile myfile2 myfile3 xenic yourfile |
若要列出以「myfile」為首的檔案名稱,請鍵入:
$ lsf myfile* myfile myfile2 myfile3 |
若要列出包含「file」的檔案名稱,請鍵入:
$ lsf *file* myfile myfile2 myfile3 yourfile |
?萬用字元 |
 |
?萬用字元代表「任何一個單一的字元」。雖然您使用?萬用字元的次數可能遠少於*,但它仍然相當有用。例如,如果您只想列出以myfile為首,而以單一的附加字元為尾的檔案,請鍵入:
$ lsf myfile? myfile2 myfile3 |
?萬用字元和一個字元相符。因此,myfile不會顯示在此清單中,因為它的結尾處沒有另一個字元。
在mv、cp和rm中使用* 萬用字元 |
 |
在您想從某目錄中搬移或複製多個檔案到另一個目錄時,萬用字元通常是相當有用的。例如,假設在您的現行目錄之下有兩個目錄稱為new和old,且這些目錄包含下列檔案:
$ lsf new myfile myfile2 lsf old myfile3 myfile4 |
若要把所有的檔案從目錄new移入目錄old中,請鍵入:
$ mv new/* old $ lsf new 檔案不再位於目錄new中。 lsf old myfile myfile2 myfile3 myfile4 他們位於目錄old中。 |
您可以使用cp命令執行相似的動作。例如,若要從目錄old複製所有的檔案到new中,請鍵入:
相同地,您可以將萬用字元搭配rm命令使用。例如,若要刪除目錄new下的所有檔案,請鍵入:
若需*和and ?功能的一般資訊,請參閱《regexp》(5)線上援助頁。若需個別shell的其他功能:使用POSIX
Shell者,請參閱《sh-posix》(1)線上援助頁;使用C shell者,請參閱《csh》(1)線上援助頁。