歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

Linux通配符

日期:2017/2/27 14:14:46   编辑:更多Linux
  通配符 1、基本的通配符有哪些? ·“?”可替代單個字符。 ·“*”可替代任意字符。 ·方括號“[charset]”可替代charset集中的任何單個字符。 對最後一條做些解釋。[cChH]通配符便可替代c或h字符的大小寫形式。 通配符集還能描述介於字符對之間的所有字符。如“[a-z]”就可以代 替任意小寫字母,而[a-zA-Z]則可替代任意字母。注意可替代的字符 包括字符包括字符對之間的所有字符。 與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在“*” 之後,在“.”之彰的字符均被忽略,所以下面的指令將不能得到你想 象的結果。 del *bak.* 在DOS中,用戶只能用此命令刪除當前目前下的所有文件,除非系統要 求你不這樣做。而在UNIX系統中,“*”可替代包括0在內的任意數字的 字符,但一行中的其余特征也仍需匹配,因此“bak.*”可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為後 者不含“.”。這非常巧妙,可大大方便用戶,而“*bak”則可匹配以上 所有的詞條,包括newbak。 2、能在一條指令中用多個通配符嗎? 可以,如 rm a*out*tmp? 該命令可以刪除一系列臨時性的輸出文件,如ab.out.temp1、ab.out.temp1 等。 3、如何利用通配符使指令更靈活? UNIX可將有一定關的文件看作一集合的一部分,用戶可以用該集合去匹配。 所以,如果你需要刪除file1.temp、file2.temp……file9.temp,只須健入: rm file[0-9].temp 該技巧的用處在於可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的數據庫做一個“dump”報告,你把文件存入dump.'date%h%d', 它包括一系列文件如下: dump.jun23 dump jun24 dump jun25 dump.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁盤空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i du*[34] 這條指令將刪去那些以“du”開頭並以“3”或“4”結尾的文件。




Copyright © Linux教程網 All Rights Reserved