學習bash——通配符與特殊符號
阿新 • • 發佈:2017-09-29
cdc 邏輯 solid enter /tmp 轉義 val spa pip
一、通配符
這是bash操作環境中一個非常有用的功能,這讓我們使用bash處理數據就更方便了。
常用通配符如下:
符號 | 意義 |
* | 代表0個到無窮多個任意字符 |
? | 代表一個任意字符 |
[] | 代表一定有一個在中括號內的字符(非任意字符) |
[-] | 若有減號在中括號內,代表在編碼順序內的所有字符 |
[^] | 若中括號內的第一個字符為^,則表示原向選擇 |
【示例區】
預處理:LANG=C; alias ll=ls -al
題目1:找出/etc/下面以cron為開頭的文件名
命令:ll -d /etc/cron* //加上-d僅僅是為了顯示目錄而已
題目2:找出/etc/下面文件名剛好是五個字母的文件名
命令:ll -d ?????
題目3:找出/etc/下面文件名含有數字的文件名
命令:ll -d /etc/*[0-9]*
題目4:找出/etc/下面文件名開頭不是小寫字母的文件名
命令:ll -d /etc/[^a-z]*
題目5:將題目4找到的文件復制到/tmp中
命令:cp -a /etc/[^a-z]* /tmp
二、特殊符號
符號 | 內容 |
# | 批註符號,常用於script中,視為說明。 |
\ | 轉義符號,將“特殊字符或通配符”還原成一般字符 |
| | 管道(pipe),分隔兩個管道命令的界定 |
; | 連續命令執行分隔符 |
~ | 用戶的主文件夾 |
$ | 使用變量前導符,即是變量之前需要加的變量替代值 |
& | 作業控制,將命令變成背景下工作 |
! | 邏輯運算意義上的“非”的意思 |
/ | 目錄符號,路徑分隔的符號 |
>,>> | 數據流重定向,輸出導向,分別是“替換”與“累加” |
<,<< | 數據流重定向,輸入導向 |
‘ ‘ | 單引號,不具有變量置換的功能 |
" " | 具有變量置換的功能 |
` ` | 兩個`中間為可以先執行的命令,也可使用$() |
() | 在中間為子shell的起始與結束 |
{} | 在中間為命令塊的組合 |
我們的文件名應盡量避免使用到上述的字符。
學習bash——通配符與特殊符號