【!編號】可以執(zhí)行歷史記錄中的相應(yīng)編號的命令
命令歷史記錄先保存在內(nèi)存中,shell退出時才會寫進用戶目錄下的隱藏文件.bash_history.
將歷史命令記錄強制寫入文件需要使用【-a】
alias命令別名
【-p】查看當前可用的別名
創(chuàng)建別名【alias newname=’commandschakan’】
命令別名屬于內(nèi)部命令,一個別名只在它所被定義的shell進程中有效
取消別名unalias name
本章小結(jié):能夠創(chuàng)建子進程的命令:外部命令
能夠創(chuàng)建子shell的方法:執(zhí)行相關(guān)shell程序,如bash,tcsh,...;使用進程列表,使用協(xié)程
第六章:使用Linux環(huán)境變量
環(huán)境變量分為兩類:局部環(huán)境變量和全局環(huán)境變量;全局環(huán)境變量對于shell會話和所有生成的子shell都是可見的,局部環(huán)境變量只對創(chuàng)建他們的shell可見。
【全局環(huán)境變量對那些所創(chuàng)建的子shell獲取父shell信息的程序來說非常有用】
1):全局環(huán)境變量
查看:【printenv】或者【env】查看特定的環(huán)境變量使用前者,如printenv JAVA_HOME
使用【echo $varName】也可以顯示變量值
【set】顯示為某個特定進程設(shè)置的所有環(huán)境變量,包括局部變量,全局變量,和用戶自定義變量。沒有特殊的命令可以顯示局部環(huán)境變量
創(chuàng)建自定義全局環(huán)境變量【export】
【修改子shell中全局環(huán)境變量并不會影響父shell中該變量的值,即使使用export也不行】
刪除環(huán)境變量【unset varName】
【一般;關(guān)于$的使用:如果要用到變量,需要使用;操作變量,不需要使用】
同樣linux命令大全,子shell中刪除一個環(huán)境變量父shell中依然不受影響
父shell中的局部變量子shell中也無法使用
2):path環(huán)境變量
可以臨時修改path變量;PATH=....
3):定位系統(tǒng)環(huán)境變量
啟動bash shell的三種方式
登錄時作為默認登錄shell
作為非登錄shell的交互式shell
作為運行腳本的非交互shell
作為默認登錄shell啟動時,登錄shell會從五個不同的啟動文件中讀。环謩e是
/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_login
$HOME/.profile
交互式shell進程啟動時,比如在命令行下執(zhí)行bash,就會啟動一個交互式shell,只會檢查$HOME/.bashrc文件
非交互式shell時,例如運行shell腳本,這個時候會檢查BASH_ENV這個環(huán)境變量。
4):關(guān)于環(huán)境變量持久化
【直接在/etc/profile中修改變量不是一個好主意,因為會隨著發(fā)行版的升級而更新從而導(dǎo)致自己修改的變量設(shè)置失效】
好的方法是在/etc/profile.d下創(chuàng)建一個.sh結(jié)尾的文件,將所有的新的或者修改過的全局變量設(shè)置放在這個文件中.
5):數(shù)組變量
varName=(varValue0 varValue1 varValue2),將變量值放在小括號中,中間使用空格隔開
數(shù)組下標從0開始,如echo ${varName[1]}將輸出varValue1,顯示整個數(shù)組,索引使用[*]
第七章:Linux的安全性
1):用戶控制,主要通過兩個文件
/etc/passwd文件,各個字段的信息如下
登錄用戶名;用戶密碼;用戶賬戶UID,用戶賬戶GID,用戶賬戶文本描述,用戶HOME目錄位置,用戶默認shell
/etc/shadow
登錄名,加密后的密碼,自上次修改密碼之后過去的天數(shù)密碼,多少天后才能更改密碼,多少天后必須更改密碼,密碼過期前提前多少天提醒用戶更改密碼,密碼過期多少天后禁用賬戶,賬戶被禁用日期,預(yù)留字段.