shell登陸的方式有兩種,login shell 與nologin shell,一般預設的使用者登陸為login shell。
兩種登陸方式的區別在於執行的配置檔案數量。
配置檔案已經有網友總結過了。
/etc/profile,/etc/bashrc 是系統全域性環境變數設定
/.profile,/.bashrc使用者家目錄下的私有環境變數設定
當登入系統時候獲得乙個shell程序時,其讀取環境設定檔有三步
1首先讀入的是全域性環境變數設定檔/etc/profile,然後根據其內容讀取額外的設定的文件,如
/etc/profile.d和/etc/inputrc
2然後根據不同使用者帳號,去其家目錄讀取/.bash_profile,如果這讀取不了就讀取/.bash_login,這個也讀取不了才會讀取
~/.profile,這三個文件設定基本上是一樣的,讀取有優先關係
3然後在根據使用者帳號讀取~/.bashrc
至於/.profile與/.bashrc的不區別
都具有個性化定製功能
~/.profile可以設定本使用者專有的路徑,環境變數,等,它只能登入的時候執行一次
~/.bashrc也是某使用者專有設定文件,可以設定路徑,命令別名,每次shell script的執行都會使用它一次
新增一點,shell退出是會將期間執行的命令儲存到~/.bash_history,並執行./bash_logout中命令。
login shell是執行所有的配置檔案
nologin shell 只執行/etc/bashrc與~/.bashrc
順帶一提,切換使用者時使用su 有兩種情況
su - 使用者名稱 :login shell
su 使用者名稱:nologin shell
shell小技巧
ctrl + r:搜尋歷史命令
ctrl + d:退出當前shell
ctrl + e:到命令末尾
ctrl + a:到命令開頭
ctrl + k:刪除游標的後面命令
ctrl + u:刪除游標的前面命令
ctrl + y:撤銷上一次快捷命令
ctrl + z:將前台程序轉移到後台
fg 將後端程序調回到前台
bg 顯示後台程序
!number:執行number編號的歷史命令
!!執行上一次shell命令(適用於指令碼中)
關於登陸shell和非登陸shell的區別
問題描述 實驗室有一台用於linux教學用的機器,為每乙個學生在上面建了乙個使用者,作為上課用的。而我呢,正在做vlsi實驗。因為那台機器持久開著,所以我為了方便就在上面也建了乙個使用者,用於vlsi實驗。cadence環境是在csh下的。但是管理員給我建的使用者預設的是bash環境,我又沒有超級使...
shell實現SSH自動登陸
公司開發使用docker,每次登陸自己開發機總要輸入ssh user name ip string,然後再確認輸入password,手快了還經常會輸錯。作為乙個懶人,肯定要找乙個取巧的方式,檢視了下ssh命令,由於它要進行一次跟伺服器的加密互動,所以沒有直接附帶密碼登陸的選項,只好作罷。前些天在同事...
Shell 利用 curl 模擬登陸
b 引數 指定使用cookie檔案 c是往cookie檔案中寫cookie d 是指定此次登入所需的引數,通過httpfox檢視 l 指定頁面自動跳轉 curl c ck.txt user agent mozilla 4.0 d username password server id 1 submi...