通配符
1. * 任意長度的任意字符(0,1,n)
2. ? 一位長度的任意字符
例子:刪除/home下所有文件名第三個字符是a,第五個字符是c的文件
# rm -rf /home/??a?c*
3. 連接多個命令
; 將連接的多個命令依次執行(前命令無論成功還是失敗,后面的命令都正常執行)
例子:# cd /home/; cd /tmp/; pwd
&& 只有前面的命令正確執行,后面的命令才會執行(如果前面的執行失敗,后面的就不執行了)
例子:# cd /home/ && cd /tmp/ && pwd
|| 只有前面的命令執行失敗,后面的命令才會執行(如果前面的執行成功,后面的就不執行了)
條件1 && 條件2
真 && 真 = 真
真 && 假 = 假
4. # 注釋行(描述信息,不會執行)
5. | 傳遞命令的執行結果
例子:統計echo輸出結果中有幾個字符
# echo "ls /etc" | wc -c
例子:將echo的結果傳遞給bash解釋器
# echo "ls /etc" | bash
6. ~ 表示當前用戶家目錄
7. - 表示上次所在的目錄
8. / 路徑分隔符
/etc/sysconfig/network
9. $ 引用變量的值
例子:
name="zx" <<< 定義變量
echo "$name" <<< 用$來獲取變量中的值
10. > 和>> 輸出重定向
>:清空文件並重新寫入內容
>>:繼續向文本添加新的內容
11. < 輸入重定向
輸入新的內容
12. << (Here Document)
此處文檔,用來打印菜單
例子:打印菜單
cat<<EOF
1. go
2. back
3. menu
EOF
13. 引號
'':弱引用,引號中的內容原樣輸出
"":強引用,引號中的變量會被替換成變量的值
``:命令替換,將引號中的命令替換成命令的執行結果
例子:
# name='zx'
# echo '$name' >>> $name (原樣輸出)
# echo "$name" >>> zx (將變量替換成值)
# touch /home/`date +%F-%H:%M:%S`
14. 點
. 表示當前所在的目錄
# touch ./1.txt
.. 當前所在的目錄的上一級目錄
15. {}
用法1:花括號展開
用法2:生成數字系列