小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

通配符

 楊學(xué)峰1980 2016-03-20
  1. linux通配符

      在使用shell命令對多個文件對象執(zhí)行單一操作時,例如刪除當(dāng)前目錄下的file1到file8,多次使用相同的命令rm file1到rm file8非常麻煩,通常使用通配符模式解決這個問題:rm file[1-8]。
當(dāng)使用通配符指定一種模式時,該模式與底層系統(tǒng)上的一個或多個文件匹配,shell以空格隔開的所有匹配對象的列表來替換該模式;當(dāng)模式不能找到匹配對象時,shell將不理會參數(shù)、通配符等,保留原樣。例如,當(dāng)ls -d /etc/g*不能找到/etc/g*的任何文件時,就會報錯。


--------代表任意個字符,但不會匹配以.開始的文件名
 
--------代表一個字符

--------轉(zhuǎn)義字符,可將通配符或者特殊字符還原成一般字符
[abc]
--------匹配[]里面的某個字符
[a-z]
--------匹配a到z之間的某個字符,還能寫成[A-Z]、[0-9]、[A-Za-z]等
[!abc]
--------匹配任意不包含在[!]里的字符,同樣包括[!a-z]等的用法,這里[和!之間不能有空格
{c1,c2}
--------同c1或者c2相匹配,其中c1和c2也是通配符,比如{[0-9]abc,[efg]}與[0-9]abc、[efg]均通配
;
--------連續(xù)性命令,比如command1;command2,不管前者是否正確,后者都會執(zhí)行,使用&&和||則會有先后順序

--------邏輯運算中的非
/
--------路徑字符
$
--------讀取變量字符,例如echo $PATH
>,>> 
--------輸出導(dǎo)向,分別為清空與末尾累加

--------單引號

--------雙引號
`` 
--------兩個`中間為可以先執(zhí)行的指令,例如cat /etc/`pwd`/hello.

注意:
使用[]時,[與]之間絕對不能為空,所以[][*]表示[、]與*任意一個字符來匹配,如果要處理與通配符相關(guān)的字符,需要使用轉(zhuǎn)義字符/,例如:
echo $[abc]
輸出結(jié)果是a、b或者c變量的值。
echo $/[abc/]
輸出結(jié)果是[abc]變量的值(舉例而已,當(dāng)然不存在[abc]這樣的變量名)。
echo '[abc]'
單引號也能起到與轉(zhuǎn)義字符同樣的作用。雙引號內(nèi)部保留所有通配符的原義,而單引號內(nèi)部將通配符視為普通字符。

 2.DOS通配符相比較

     與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在“*”之后,在“.”之后的字符均被忽略,所以下面的指令將不能得到你想象的結(jié)果。

  del *bak.*

  在DOS中,用戶只能用此命令刪除當(dāng)前目前下的所有文件,除非系統(tǒng)要求你不這樣做。而在UNIX系統(tǒng)中,“*”可替代包括0在內(nèi)的任意數(shù)字的字符,但一行中的其余特征也仍需匹配,因此“bak.*”可匹配newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為后者不含“.”。這非常巧妙,可大大方便用戶,而“*bak”則可匹配以上所有的詞條,包括newbak。

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多