/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用

?轉載自:http://blog.csdn.net/u013968345/article/details/21262033

?

/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的幾個初始化文件 - [Ubuntu]?
(1)/etc/profile?
全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。?
(2)/ect/bashrc?
Ubuntu沒有此文件,與之對應的是/ect/bash.bashrc?
它也是全局(公有)的?
bash執行時,不管是何種方式,都會讀取此文件。?
(3)~/.profile?
若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?
另外,圖形模式登錄時,此文件將被讀取,即使存在~/.bash_profile和~/.bash_login。?
(4)~/.bash_login?
若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?
(5)~/.bash_profile?
Unbutu默認沒有此文件,可新建。?
只有bash是以login形式執行時,才會讀取此文件。通常該配置文件還會配置成去讀取~/.bashrc。?
(6)~/.bashrc?
當bash是以non-login形式執行時,讀取此文件。若是以login形式執行,則不會讀取此文件。?
(7)~/.bash_logout?
注銷時,且是longin形式,此文件才會讀取。也就是說,在文本模式注銷時,此文件會被讀取,圖形模式注銷時,此文件不會被讀取。?

下面是在本機的幾個例子:?
1. 圖形模式登錄時,順序讀取:/etc/profile和~/.profile?
2. 圖形模式登錄后,打開終端時,順序讀取:/etc/bash.bashrc和~/.bashrc?
3. 文本模式登錄時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile?
4. 從其它用戶su到該用戶,則分兩種情況:?
??? (1)如果帶-l參數(或-參數,--login參數),如:su -l username,則bash是lonin的,它將順序讀取以下配置文件:/etc/bash.bashrc,/etc/profile和~/.bash_profile。?
??? (2)如果沒有帶-l參數,則bash是non-login的,它將順序讀取:/etc/bash.bashrc和~/.bashrc?
5. 注銷時,或退出su登錄的用戶,如果是longin方式,那么bash會讀取:~/.bash_logout?
6. 執行自定義的shell文件時,若使用“bash -l a.sh”的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬于bash shell),則不會讀取上面的任何文件。?
7. 上面的例子凡是讀取到~/.bash_profile的,若該文件不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。?

linux中profile與bashrc的區別?
Ubuntu 的相關目錄下?
/ect/ /root /home/myuser?
profile .profile .profile?
bash.bashrc .bashrc .bashrc?
profile.d?

Fedora的相關目錄?
/ect/ /root /home/myuser?
profile      profile?
bashrc   .bashrc bashrc?
profile.d                     profile.d?

說明:myuser 是你添加創建的用戶?
在網上找了半天也不能包括所有的,所以只能比較個大概。?


bashrc與profile的區別?
要搞清bashrc與profile的區別,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。?
交互式模式就是shell等待你的輸入,并且執行你提交的命令。這種模式被稱作交互式是因為shell與用戶進行交互。這種模式也是大多數用戶非常熟悉的:登錄、執行一些命令、簽退。當你簽退后,shell也終止了。 shell也可以運行在另外一種模式:非交互式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,并且執行它們。當它讀到文件的結尾,shell也就終止了。?
bashrc與profile都用于保存用戶的環境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系統中存在許多bashrc和profile文件,下面逐一介紹:?
/etc/pro此文件為系統的每個用戶設置環境信息,當第一個用戶登錄時,該文件被執行.?
并從/etc/profile.d目錄的配置文件中搜集shell的設置.?
/etc/bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取。有些linux版本中的/etc目錄下已經沒有了bashrc文件。?
~/. pro每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該?文件僅僅執行一次!默認情況下,它設置一些環境變量,然后執行用戶的.bashrc文件.?
~/.bashrc:該文件包含專用于某個用戶的bash shell的bash信息,當該用戶登錄時以及每次打開新的shell時,該文件被讀取.?
另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系.?

某網友總結如下:?
/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的執行都會使用它一次?

轉載于:https://www.cnblogs.com/cwp-bg/p/8257843.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390382.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390382.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390382.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python初學者_終極Python初學者手冊

python初學者Python has become one of the fastest-growing programming languages over the past few years. 在過去的幾年中,Python已成為增長最快的編程語言之一。 Not only it is widely used, it is also an awesome language to tackle if you want to get …

z-index

z-index 這個東西非常簡單,它有四大特性,每個特性你記住了,頁面布局就不會出現找不到盒子的情況。 z-index 值表示誰壓著誰,數值大的壓蓋住數值小的,只有定位了的元素,才能有z-index,也就是說,不…

大型運輸行業實戰_day12_1_權限管理實現

1.業務分析 權限說的是不同的用戶對同一個系統有不同訪問權限,其設計的本質是:給先給用戶分配好URL,然后在訪問的時候判斷該用戶是否有當前訪問的URL. 2.實現 2.1數據庫設計標準5表權限結構 2.2.sql語句實現,根據用戶id查詢該用戶所有的資源 sql語句: SELECT ur.user_id, r.u…

aws python庫_如何使用Python,AWS和IEX Cloud創建自動更新股市數據的Excel電子表格

aws python庫Many Python developers in the financial world are tasked with creating Excel documents for analysis by non-technical users.金融界的許多Python開發人員的任務是創建Excel文檔,以供非技術用戶進行分析。 This is actually a lot harder than i…

37)智能指針(就是自動delete空間)

1)問題引入: 在java或者在C中,一旦你new一個東西,那么必然有一個delete與之對應,比如: 1 int main()2 {3 int* p new int();4 5 *…

linux 安裝maven

2019獨角獸企業重金招聘Python工程師標準>>> 目錄:/usr/local/maven 1.下載 wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz 2.解壓 tar -zxvf apache-maven-3.5.3-bin.tar.gz 3.配置 vi /etc/profile #講下面…

自由開發者怎么生存_如何作為自由開發者生存

自由開發者怎么生存It’s been 8 weeks since we started experiencing the dramatic impact of the COVID-19 pandemic. In that time, we’ve all borne witness to how this virus can impact our families, our communities, and our livelihood. 自我們開始體驗COVID-19大…

UUID生成字符串

在向數據庫插入新數據時,可能需要插入字符串形式的ID,這時使用UUID可以生成隨機字符串: String str UUID.randomUUID().toString(); 轉載于:https://www.cnblogs.com/suhfj-825/p/8260861.html

如何在React Native中使用react-navigation 5處理導航

React-navigation is the navigation library that comes to my mind when we talk about navigation in React Native. 當我們談論React Native中的導航時,React-navigation是我想到的導航庫。 Im a big fan of this library and its always the first solution I…

flask內置session原理

內置session原理 請求到來 當請求進來之后,先執行Flask對象的 __call__ 方法 def wsgi_app(self, environ, start_response):# 獲取請求相關數據,并進行封裝和加工ctx self.request_context(environ)# 將請求消息推送到堆棧中,并執行 open_s…

指針3

#include <stdio.h>/* 2018-05-28 如何通過被調函數修改主調函數普通變量的值1&#xff0c;實參必須為該普通變量的地址2,形參必須為指針變量3&#xff0c;在背調函數中通過*形參名 。。。。。的方式就可以修改主調函數相關變量的值*/f(int *i,int *j) {*i 4;*j 5;ret…

面試系統設計_系統設計面試問題–您應該知道的概念

面試系統設計You may have heard the terms "Architecture" or "System Design." These come up a lot during developer job interviews – especially at big tech companies.您可能已經聽說過“架構”或“系統設計”這兩個術語。 在開發人員工作面試中&…

8597 石子劃分問題 dpdp,只考慮第一次即可

8597 石子劃分問題 時間限制:500MS 內存限制:1000K提交次數:155 通過次數:53 題型: 編程題 語言: G;GCC;VC Description 給定n個石子&#xff0c;其重量分別為a1,a2,a3,...,an。 要求將其劃分為m份&#xff0c;每一份的劃分費用定義為這份石子中最大重量與最小重量差的平方。…

文章中嵌入代碼塊_如何在您的文章中嵌入多項選擇測驗問題

文章中嵌入代碼塊In my experience, supplementing study with practical exercises greatly improves my understanding of a topic. This is especially true when I can test my knowledge as I go and receive instant feedback for each question.以我的經驗&#xff0c;通…

mysql免安裝版配置

1.官網下載https://dev.mysql.com/downloads/mysql/ 2.將下載好的壓縮包mysql-5.7.20-winx64.zip解壓。 3.mysql解壓后&#xff0c;設置.ini文件&#xff0c;在加壓后的路徑中加一個my.ini文件 配置如下內容&#xff1a; # 設置mysql客戶端默認字符集 default-character-setutf…

各種IE(IE6-IE10)兼容問題一行代碼搞定

x-ua-compatible 用來指定IE瀏覽器解析編譯頁面的model x-ua-compatible 頭標簽大小寫不敏感&#xff0c;必須用在 head 中&#xff0c;必須在除 title 外的其他 meta 之前使用。 1、使用一行代碼來指定瀏覽器使用特定的文檔模式。 <meta http-equiv"x-ua-compatible&q…

802. 找到最終的安全狀態

在有向圖中&#xff0c;以某個節點為起始節點&#xff0c;從該點出發&#xff0c;每一步沿著圖中的一條有向邊行走。如果到達的節點是終點&#xff08;即它沒有連出的有向邊&#xff09;&#xff0c;則停止。 對于一個起始節點&#xff0c;如果從該節點出發&#xff0c;無論每…

元類型與類型的區別

元類型是指所有類型的類型。 元類型只能類型出現在類型標示位&#xff1b; 類型即能作為類型存在&#xff0c;出現在類型標示位&#xff1b; 也能作為變量存在&#xff0c;出現在元類型的變量位。 http://www.swift51.com/swift2.0/chapter3/03_Types.html#type_inheritance_cl…

css 動畫使用_如何在CSS中使用動畫

css 動畫使用使用CSS動畫 (Using CSS Animations) CSS animations add beauty to the webpages and make transitions from one CSS style to the other beautiful.CSS動畫可以使網頁更加美觀&#xff0c;并可以從一種CSS樣式過渡到另一種CSS樣式。 To create a CSS animation…

第01章—快速構建

spring boot 系列學習記錄&#xff1a;http://www.cnblogs.com/jinxiaohang/p/8111057.html 碼云源碼地址&#xff1a;https://gitee.com/jinxiaohang/springboot 一、Spring Initializr 使用教程 &#xff08;IntelliJ IDEA&#xff09; 具體步驟&#xff1a; 1、打開IDEA &am…