shell登陸區別

2021-10-07 18:23:21 字數 1190 閱讀 4557

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