1. 程式人生 > >Linux菜鳥筆記——BASH(三)

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+?是清除鍵盤輸入的內容。

2echo一個變數時,如果變數沒有定義,則提醒:

set -u

取消這個提醒:

set +u

 

3、每執行一條命令,都會回提示資訊(常用於寫指令碼時debug):

set -x

取消這個提醒:

set +x

 

五、萬用字元與特殊符號

1、[]表示匹配一個字元:

[a-z] #表示匹配

az中的任意一個字元

[0-9] #表示匹配09中的任意一個字元

[a\-z] #表示匹配a-z這三個字元中的任意一個

[!0-9] #表示匹配非09之間的任意一個字元

例:

ls [a-z]?[0-9]* #列出檔名第一個字元為a-z,第三個字元為數字的檔案

2?表示匹配任意一個字元

3*表示匹配任意個字元

4>

date > abcd #將輸出結果存到abcd這個檔案中,如果檔案不存在則建立

cal > abcd #>是覆蓋覆蓋儲存,之前的內容會被清空

5>>

ifconfig eth0 >> abcd #將輸出結果存到abcd

這個檔案中,如果檔案不存在

#>>不會把之前的內容清空

62>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