linux開機後首先載入的幾個檔案介紹

2021-06-06 14:21:22 字數 1309 閱讀 9362

先來一段通用的解釋:

/etc/profile:

此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.並從/etc/profile.d目錄的配置檔案中蒐集shell的設定

/etc/bashrc:

為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取

~/.bash_profile:

每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案

~/.bashrc:

該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取

~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案.

另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是」父子」關係.

~/.bash_profile 是互動式、login 方式進入 bash 執行的

~/.bashrc 是互動式 non-login 方式進入 bash 執行的通常二者設定大致相同,所以通常前者會呼叫後者

然後看一下應用場景:

每次bash作為login shell啟動時會執行.bash_profile,主要有以下幾種情況:

每次登入伺服器時預設啟動的shell

su -l [user]進入的shell

bash –login進入的shell

每次bash作為普通的互動shell(interactice shell)啟動時會執行.bashrc,主要有以下幾種情況:

su [user]進入的shell

直接bash命令進入的shell

注意:shell指令碼中#!/usr/bin/bash進入的shell,因為這裡的bash不是互動式bash,所以不執行.bashrc

一般,慣例上,.bash_profile裡會顯式呼叫.bashrc,**像這樣

if [ -f ~/.bashrc ]; then. ~/.bashrc

fi

最後說說su [user]和su – [user]的區別:

其實su – [user]就是su -l [user],以登入的方式進入bash,會執行.bash_profile,而su [user]不會,所以有時候會遇到su root切換後無法找到useradd等命令的情況,就是這個原因造成的了

linux開機時驅動的載入流程

linux開機載入驅動時,涉及到了initramfs檔案中包含的驅動以及硬碟中包含的驅動兩個部分 而系統啟動後手動載入驅動時只會用到硬碟中的驅動庫,與initramfs無關。首先介紹下initramfs檔案生成的原理及流程,然後在介紹下開機載入的流程及本地驗證步驟。一 initramfs檔案生成原理...

linux 下開機自動載入驅動模組

呼呼,好久不見 前一段時間開發了乙個linux下的pci資料採集板卡的驅動,在驅動除錯時,一直使用insmod 動態的載入驅動模組 ko檔案 現在驅動基本開發結束,要提交給客戶,使用insmod載入時,對客戶來說不太好,比較麻煩,所以不能採用這種方法。由於 剛開始做驅動,還不知道如何在linux啟動...

linux設定開機自動載入檔案

在linux中有個rc.local檔案,linux在啟動時會自動載入其中的內容,當作命令執行,所以只需要將需要開機執行的命令寫在其中,就可以實現開機自動載入檔案或開啟服務。rc.local路徑 etc rc.local 1.開啟檔案 vim etc rc.local 2.寫入命令 touch tmp...