linux啟動指令碼

2021-06-29 05:12:30 字數 1380 閱讀 9791

一、開機啟動時自動執行程式

1, init是所有程序的頂層,init讀取/etc/inittab配置

2, init呼叫執行/etc/inittab配置的/etc/rc.d/rc.sysinit指令碼 

3, rc.sysinit根據inittab執行/etc/rc?.d/目錄下的各個指令碼

4,大多數啟動指令碼放置在 /etc/rc.d/init.d下(/etc/init.d是到/etc/rc.d/init.d/的符號鏈結)

rc?.d中放置的是init.d中指令碼的符號鏈結,命名格式是: s k

s開始的檔案向指令碼傳遞start引數 

k開始的檔案向指令碼傳遞stop引數 

number決定執行的順序

其中有檔案:s99local 為 ../rc.local(即/etc/rc.d/rc.local的符號連線)

二、shell自動執行的指令碼

linux在登入和登出過程中,會按以下順序先後自動執行幾個重要的指令碼檔案:/etc/profile => [/etc/environment] => (~/.bash_profile | ~/.bash_login | ~/.profile)  =>  ~/.bashrc  =>  (/etc/bash.bashrc | /etc/bashrc) => ~/.bash_logout。

以下簡要介紹這些指令碼檔案的執行時機和作用。

/etc/rc.local

linux啟動時執行的指令碼。注意,這裡指核心啟動,發生在登入之前。

/etc/profile

當使用者第一次登入時,該檔案被執行。在該指令碼中,又會呼叫執行/etc/profile.d目錄下的所有指令碼。 

/etc/environment

建議用於設定全域性環境變數,僅debain系列發行版(如ubuntu)才有。

/etc/bash.bashrc | /etc/bashrc

當bash shell被開啟時,該檔案被執行。redhat系列發行版是bashrc,debian系列發行版是bash.bashrc。

~/.bash_profile | ~/.bash_login | ~/.profile

用於設定專屬於某使用者的shell資訊,當使用者第一次登入時,該檔案被執行一次。預設情況下,他設定一些環境變數,然後呼叫執行使用者的~/.bashrc檔案。注意,bash啟動時按以上列出的順序查詢這三個檔案,但只執行最先找到的指令碼檔案。

~/.bashrc

用於設定專屬於某使用者的shell資訊,當登入時以及每次開啟新的shell時,該檔案被執行。 ~/.bash_profile 是互動式、login 方式進入 bash 執行的,~/.bashrc 是互動式 non-login 方式(終端視窗)進入 bash 執行的。

~/.bash_logout

當登出或退出系統時,執行該檔案。

linux 開機啟動指令碼

開機啟動有兩種方式 通過vnc啟動方式進行說明 一 第一種是通過rc.local檔案,直接將要執行的指令碼名稱寫進去,但是此方法無法保證指令碼執行時網絡卡裝置是否已經徹底啟動。通過自帶軟體中心安裝x11vnc,使用下列命令設定密碼。sudo x11vnc storepasswd 新建.sh 指令碼檔...

linux開機啟動指令碼

來一種linux簡單使用的開機啟動指令碼 1.cd etc rc.d init.d 來到這個目錄下 2.vi aa.sh建立乙個指令碼檔案 比如我的指令碼檔案是 aa.sh bin sh chkconfig 2345 80 90 description 開機自動啟動的指令碼程式 編寫你要啟動的程式的...

linux自啟動指令碼

etc rc.local 開機自啟動 不要執行阻塞的程式,該檔案中不能加入使用者shell下的指令碼,例如加入 alias ll ls l 無效,因為該檔案的執行環境是在系統shell下,系統尚未進入使用者shell環境。etc profile 第乙個使用者shell登入時 只執行一次,可以放全域性...