① linux命令中 $ ls * \* 和$ ls * "*" 的顯示結果是否完全一致 幫忙解釋下命令
首先第一個*是通配符,
比如/a下有c1 d1 e1三個文件,
那麼ls /a/*這個命令會展開成三個命令:ls /a/c1 ; ls /a/d1 ; ls /a/e1來執行。
\可以理解成是轉義,這樣\*就是字元*
這樣ls /a/*\*展開就是 ls /a/c1* ;ls /a/d1* ;ls /a/e1* 這樣子,也就是ls 以星號結尾的文件,
bash中,把「」中字元串當作不同字元串進行解釋,那麼跟前面的命令就是一樣的了
② 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 該技巧的用處在於可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的 資料庫 做一個「mp」報告,你把文件存入mp.date%h%d, 它包括一系列文件如下: mp.jun23 mp jun24 mp jun25 mp.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁碟空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i *[34] 這條指令將刪去那些以「」開頭並以「3」或「4」結尾的文件。
③ Linux的基本命令格式如何Linux下經常使用的通配符有哪些
Linux的基本命令格式:
命令 [-選項] [參數]
例如
makdir -p /abc/cba
linux常用通配符有* ,?,[ ],[^],[:space:],[:punct:],[:lower:],[:upper:],[:digit:],[:alnum:]等等。
* 匹配任意長度的任意字元
?匹配任意單個字元
[ ]匹配製定范圍內的單個字元[^]匹配製定范圍外的單個字元
[:space:]匹配單個空白字元
[:punct:]匹配單個標點符號字元
[:lower:]匹配單個小寫字母字元
[:upper:]匹配單個大寫字母字元
[:digit:]匹配單個數字字元
[:alnum:]匹配單個數字和字母字元
以上通配符在使用時還需再加一個[ ]
更多詳細Linux知識可參考《Linux就該這么學》。