萬用字元也是bash下特殊符號的一種,以下是bash 環境中的特殊符號彙整:
符號 內容
# 批註符號:這個最常被使用在 script 當中,規為說明!在後的資料均不執行
\ 跳脫符號:將『特殊字元或萬用字元』還原成一般字元
| 管線 (pipe):分隔兩個管線命令的界定(後兩節介紹);
; 連續指令下達分隔符:連續性命令的界定 (注意!不管線命令並不相同)
~ 使用者的家目錄
$ 取用變數前導符:亦即是變數之前需要加的變數取代值
& 工作控制 (job control):將指令變成背景下工作
! 邏輯運算意義上的『非』 not 的意思!
/ 目錄符號:路徑分隔的符號
>, >> 資料流重導向:輸出導向,分別是『取代』與『累加』
<, << 資料流重導向:輸入導向 (這兩個留待下節介紹)
' ' 單引號,不具有髮量置換的功能
" " 具有髮量置換的功能!
` ` 兩個『 ` 』中間為可以先執行的指令,亦可使用 $( )
( ) 在中間為子 shell 的起始與結束
在中間為命令區塊的組合!
以上為 bash 環境中常見的特殊符號彙整!理論上,『檔名』盡量不要使用到上述的字元啦!
底下我們列出一些常用的萬用字元喔:
符號 意義
* 代表『 0 個到無窮多個』任意字元
? 代表『一定有乙個』任意字元
[ ] 同樣代表『一定有乙個在括號內』的字元(非任意字元)。例如 [abcd] 代表『一定有乙個字元, 可能是 a, b, c, d 這四個任何乙個』
[ - ] 若有減號在中括號內時,代表『在編碼順序內的所有字元』。例如 [0-9] 代表 0 到 9 之間的所有數字,因為數字的語系編碼是連續的!
[^ ] 若中括號內的第乙個字元為指數符號 (^) ,那表示『反向選擇』,例如 [^abc] 代表 一定有乙個字元,只要是非 a, b, c 的其他字元就接受的意思。
例子:利用萬用字元配合 ls 找檔名:
範例一:找出 /etc/ 底下以 cron 為開頭的檔名
[root@www ~]# ll -d /etc/cron* <==加上 -d 是為了僅顯示目錄而已
範例二:找出 /etc/ 底下檔名『剛好是五個字母』的檔名
[root@www ~]# ll -d /etc/????? <==由於 ? 一定有乙個,所以五個 ? 就對了
範例三:找出 /etc/ 底下檔名含有數字的檔名
[root@www ~]# ll -d /etc/*[0-9]* <==記得中括號左右兩邊均需 *
範例四:找出 /etc/ 底下,檔名開頭非為小寫字母的檔名:
[root@www ~]# ll -d /etc/[^a-z]* <==注意中括號左邊沒有 *
範例五:將範例四找到的檔案複製到 /tmp 中
[root@www ~]# cp -a /etc/[^a-z]* /tmp
bash的萬用字元與特殊符號
在 bash 的操作環境中還有乙個非常有用的功能,那就是萬用字元 wildcard 我們利用 bash 處理資料就更方便了!底下我們列出一些常用的萬用字元喔 符號意義 代表 0 個到無窮多個 任意字元 代表 一定有乙個 任意字元 同樣代表 一定有乙個在括號內 的字元 非任意字元 例如 abcd 代表...
萬用字元與特殊符號
萬用字元符與特殊符號 符號內容 萬用字元,代表0 或多個字元 數字 萬用字元,代表乙個字母 批註,這個最常被使用在 script當中,視為說明 跳脫符號,將 特殊字元或萬用字元 還原成一般字元 分隔兩個管道命令的界定 連續性命令的界定 使用者的家目錄 取出變數中的內容 有點類似於c 語言裡 跟指標的...
bash特殊符號
bash的萬用字元與特殊符號 在 bash 的操作環境中還有乙個非常有用的功能,那就是萬用字元 wildcard 我們利用 bash 處理資料就更方便了!底下我們列出一些常用的萬用字元喔 符號意義 代表 0 個到無窮多個 任意字元 代表 一定有乙個 任意字元 同樣代表 一定有乙個在括號內 的字元 非...