與登入shell相關的檔案

2021-09-21 03:33:19 字數 1038 閱讀 4702

一般的系統可能會有

/etc/profile

/etc/bashrc

~/.bashrc

~/.bash_profile

profile 是某個使用者唯一的用來設定環境變數的地方, 因為使用者可以有多個 shell 比如 bash, sh, zsh 之類的, 但像環境變數這種其實只需要在統一的乙個地方初始化就可以了, 而這就是 profile.

bashrc是專門用來給 bash 做初始化的比如用來初始化 bash 的設定, bash 的**補全, bash 的別名, bash 的顏色. 以此類推也就還會有 shrc, zshrc 這樣的檔案存在了, 只是 bash 比較常用.

/etc/***  檔案裡面的內容對所用的使用者都適用

~/.***   檔案裡面的內容只適用於個人

login shell:該模式表示使用者登入,比如使用 "su -" 命令, 或者用 ssh 連線到某乙個伺服器上, 都會使用該使用者預設shell 啟動 login shell 模式.該模式下的 shell 會去自動執行 /etc/profile 和 ~/.profile 檔案, 但不會執行任何的 bashrc 檔案, 所以一般再 /etc/profile 或者 ~/.profile 裡我們會手動去 source bashrc 檔案.

no-login shell:該模式是我們在終端下直接輸入 bash 或者 bash -c 「cmd」 來啟動的 shell.該模式下是不會自動去執行任何的 profile 檔案.

interactive shell:該預設是互動式shell, 就是用來和使用者互動的, 提供了命令提示符可以輸入命令.在這種模式下會存在乙個叫 ps1 的環境變數, 如果還不是 login shell 的則會去 source /etc/bash.bashrc 和 ~/.bashrc 檔案

non-interactive shell:

ssh login, sudo su - [user] 或者 mac 下開啟終端這些都是典型的interactive login shell, 所以會有 ps1 變數, 並且會執行/etc/profile   ~/.profile兩個檔案

shell相關檔案

站在使用者登入的角度來說,shell的型別 登入式shell 正常通常某終端登入 su username su l username 非登入式shell su username 圖形終端下開啟命令視窗 自動執行的shell指令碼 bash的配置檔案 全域性配置 etc profile,etc pro...

shell指令碼中與檔案判斷相關的指令

e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果 filename可讀,則為...

shell檔案操作相關命令

1,在 opt目錄 下新建乙個資料夾,名字叫new folder,並且把 etc init.d中的所有檔案拷貝到這個資料夾中。sudo cp r etc init.d opt new folder 2,把new foleder分別壓縮為new folder.tar.gz和new foleder.ta...