Linux菜鳥筆記——BASH(三)
實驗環境:Ubantu 16.04
一、路徑與命令查詢順序
type -a echo #打印出來的資訊中,從上到下表示執行命令的優先順序由高到低
二、bash的登入與歡迎資訊
1、登入前的資訊修改:
vim /etc/issue
vim /etc/issue.net #通過telent登入時顯示的資訊
2、登入後的歡迎資訊修改:
vim /etc/motd
三、bash的環境配置檔案
echo $PATH
echo $USER
echo $PS1
1、用login shell登入:
(1)執行下面幾個檔案:(所有的使用者都一樣)
/etc/profile #設定全域性的環境變數
/etc/inputrc #處理鍵盤對映
/etc/profile.d #
(2)進入家目錄,然後執行.bash_profile這個檔案:(每個使用者都有一個.bash_profile)
. ~/.bashrc #.等同於source
四、終端機的環境設定
1、檢視bash支援的所有快捷鍵:
stty -a
比如Ctrl+?是清除鍵盤輸入的內容。
2、echo一個變數時,如果變數沒有定義,則提醒:
set -u
取消這個提醒:
set +u
3、每執行一條命令,都會回提示資訊(常用於寫指令碼時debug):
set -x
取消這個提醒:
set +x
五、萬用字元與特殊符號
1、[]表示匹配一個字元:
[a-z] #表示匹配
[0-9] #表示匹配0到9中的任意一個字元
[a\-z] #表示匹配a、-、z這三個字元中的任意一個
[!0-9] #表示匹配非0到9之間的任意一個字元
例:
ls [a-z]?[0-9]* #列出檔名第一個字元為a-z,第三個字元為數字的檔案
2、?表示匹配任意一個字元
3、*表示匹配任意個字元
4、>
date > abcd #將輸出結果存到abcd這個檔案中,如果檔案不存在則建立
cal > abcd #用>是覆蓋覆蓋儲存,之前的內容會被清空
5、>>
ifconfig eth0 >> abcd #將輸出結果存到abcd
#用>>不會把之前的內容清空
6、2>和2>>
> 和 >> 只匯入正確的命令結果, 2> 和 2>>只匯入錯誤的 #命令結果,&> 和 &>>匯入正確、錯誤的命令結果
7、<和<< #
類比>和>>
8、多個命令用;隔開
date ; cal
終端中每執行一條命令,都會將執行結果放到一個暫存器中,可通過echo $?檢視,命令正確執行則結果為0,否則結果為非0值。
9、命令1 && 命令2
如果命令1執行結果為真,則繼續執行命令2
如果命令1執行結果為假,則不執行命令2
10、命令1 || 命令2
如果命令1執行結果為真,則不執行命令2
如果命令1執行結果為假,則執行命令2
j