通配符和三劍客(awk sed grep)正則表達式是不一樣的,因此代表的意義也是有較大區別的,通配符一般用於用戶命令行bash環境,而linux正則表達式用於sed,awk,grep場景。
“*” 代表任意(0到多個)字符
“?” 代表任意一個字符
“;” 分號連續不同命令的分隔符
“#” 配置文件註釋
“|” 管道
“~” 用戶家目錄
“-” 上一次目錄
“$” 變量前加的符號
“/” 路徑分隔符號,也有根的意思
>或1> 重定向,覆蓋原有數據
2> 錯誤輸出重定向,覆蓋原有數據
1>> 追加重定向,追加內容到文件尾部
2>> 錯誤追加重定向,追加內容到文件尾部
0< 輸入重定向
0<< 追加輸入重定向
“’” 單引號,不具有變量置換功能,輸出時所見即所得
“ ” 雙引號,具有變量置換功能,解析變量後輸出,不加引號就相當於雙引號,雙引號比較常用。
“`” tab鍵上面的鍵,反引號兩個反引號``中間爲命令,會先執行,等價$()
{} 中括號爲命令區塊組合或內容序列
! 邏輯運算符中的“非”
&& 並且相當於and當前一個指令成功時,執行後一個指令
|| 或者相當於or當前一個指令執行失敗時,執行後一個指令。
通配符舉例:
(1)“*”星號舉例
[root@linzhongniao ~]# ls *.txt
ddd.txt ett.txt linzhongniao.txt sdsd.txt sss.txt
(2)"?"號舉例
[root@linzhongniao ~]# ls ?.txt
a.txt b.txt
[root@linzhongniao ~]# ls ???.txt
ddd.txt ett.txt sss.txt
(3)“;”兩個命令之間的分隔符
[root@linzhongniao ~]# pwd;pwd
/root
/root
(4)單引號和雙引號舉例
[root@linzhongniao ~]# echo 'date'
date
[root@linzhongniao ~]# echo "date"
date
[root@linzhongniao ~]# echo "`date`"
Tue Jul 17 10:54:31 CST 2018
[root@linzhongniao ~]# echo '`date`'
`date`
[root@linzhongniao ~]# echo `date`
Tue Jul 17 10:56:29 CST 2018
(5)反引號舉例
[root@linzhongniao ~]# echo `date`
Tue Jul 17 10:56:29 CST 2018
[root@linzhongniao ~]# echo $(date)
Tue Jul 17 10:57:09 CST 2018