linux中profile文件作用,解析Linux系統中bashrc和profile文件的作用區別

使用終端ssh登錄Linux操作系統的控制臺后,會出現一個提示符號(例如:#或~),在這個提示符號之后可以輸入命令,Linux根據輸入的命令會做回應,這一連串的動作是由一個所謂的Shell來做處理。

Shell是一個程序,最常用的就是Bash,這也是登錄系統默認會使用的Shell。

bashrc和profile都是Shell的啟動設置文件(其實這兩個文件也是Shell腳本),可以為當前的Shell初始化環境變量等,它們類似Microsoft DOS/Windows下的autoexec.bat文件。

下面詳細介紹bashrc和profile的用途和區別:

針對個別用戶

用戶HOME(家)目錄/.bashrc

復制代碼代碼如下:

# ~/.bashrc: executed by bash(1) for non-login shells.

# ~/.bashrc: executed by bash(1) for non-login shells.

用戶HOME(家)目錄/.profile

復制代碼代碼如下:

# ~/.profile: executed by Bourne-compatible login shells.

# ~/.profile: executed by Bourne-compatible login shells.

針對全體用戶

復制代碼代碼如下:

/etc/bash.bashrc

# System-wide .bashrc file for interactive bash(1) shells.

/etc/profile

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)

復制代碼代碼如下:

/etc/bash.bashrc

# System-wide .bashrc file for interactive bash(1) shells.

/etc/profile

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)

bashrc與profile的區別

從上面的英文描述可以知道,bashrc和profile的差異在于:

1. bashrc是在系統啟動后就會自動運行。

2. profile是在用戶登錄后才會運行。

3. 進行設置后,可運用source bashrc命令更新bashrc,也可運用source profile命令更新profile。

PS:通常我們修改bashrc,有些linux的發行版本不一定有profile這個文件

4. /etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/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中的變量,他們是"父子"關系.

補充介紹另外,需要補充說明介紹bashrc相關的幾個文件:

~/.bash_profile: 每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。

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

~/.bash_profile 是交互式、login方式進入bash運行的,~/.bashrc是交互式non-login方式進入bash運行的,通常二者設置大致相同,所以通常前者會調用后者。

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

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

相關文章

操作系統:電腦的回收站的秘密你知道嗎?

電腦的回收站的秘密你知道嗎? 今天小編給大家介紹一下有關電腦回收站的相關知識,趕緊來看看吧! 回收站是所有磁盤驅動空間中的一個區域。 鼠標右鍵打開電腦桌面回收站的屬性面板,在屬性面板中可以看到所有的系統驅動程序使用了同一設置選項,可…

【Qt開發】QSplitter的使用和設置

Qt庫版本:5.2.1 Qt Creator版本:3.0.1 1 QSplitter的用途 QSplitter使得用戶可以通過拖動子窗口之間的邊界來控制它們的大小,例如 圖1 窗口拆分示意圖 2 QSplitter的添加方法 QSplitter的添加方法有2種:a)通過Qt Creator的界面設計…

異星工廠mod位置linux,異星工廠存檔在哪里

異星工廠存檔在哪里想必有些小伙伴還不是很清楚的吧,所以呢今天小編就為大家帶來了異星工廠MOD安裝位置介紹,一起來了解一下吧。異星工廠存檔在哪里%appdata%/factorio等同于C:\Users\您的用戶名\AppData\Roaming\Factorio因為各位的電腦用戶名不一樣。所…

pytorch 畫loss曲線_Pytorch使用tensorboardX可視化。超詳細!!!

1 引言我們都知道tensorflow框架可以使用tensorboard這一高級的可視化的工具,為了使用tensorboard這一套完美的可視化工具,未免可以將其應用到Pytorch中,用于Pytorch的可視化。本文主要是針對該解決方案提供一些介紹。TensorboardX支持scalar…

電腦技巧:電腦鍵盤F1~F12按鍵的妙用

目錄 F1:幫助鍵 F3:搜索按鍵 F4:打開瀏覽器歷史列表 F5:刷新功能 F6:定位地址欄 F7:在“命令提示符”中調用歷史指令 F8:啟動系統高級菜單 F9:無 F10:需要與Shift組合使用&#xff0…

linux vim基本操作,vim基本操作筆記

在Linux系統中有多種代碼編輯器,例如vim, gedit, emacs。這這些編輯器各有所長,就我個人而言,對于比較短的代碼,一般可以用vim解決就不用其它的工具,而長代碼的情況下更喜歡用gedit,這個gnome自帶的代碼編輯…

iOS 獲取當前對象所在的VC

id next [self nextResponder] ;while (next ! nil) {next [next nextResponder];if ([next isKindOfClass:[XX_ViewController class]]) {//return;}}轉載于:https://www.cnblogs.com/mapanguan/p/5853986.html

eureka 其它語言_SpringCloud之Eureka-Go語言中文社區

一、使用方法:1、添加maven依賴org.springframework.cloudspring-cloud-starter-netflix-eureka-server版本一般交由spring-cloud-dependencies管理。注意這個依賴的artifactId在Edgware以前是spring-cloud-starter-eureka-server,而在之后變成了spring-cloud-start…

操作系統:Win10系統下LocalNow和Roaming文件夾介紹

Win10操作系統下AppData文件夾包括以下子文件夾 - 漫游,本地和本地。 幾乎每個在Win10 PC上安裝的程序都會在AppData文件夾中創建自己的文件夾,并將其所有相關信息存儲在其中。AppData或應用程序數據是Windows 10中的一個隱藏文件夾,可幫助保…

c語言des算法實驗報告,C語言實現DES算法實驗報告解析.doc

C語言實現DES算法實驗報告解析xx工程大學實驗報告(2015-2016學年第一學期)報告題目: DES加密算法課程名稱: 密碼學B任課教員:專 業:學 號:姓 名:二O一六年一月十八日一、課程概述目的:培養學員的…

[noip2010]關押罪犯 并查集

第一次看的時候想到了并查集&#xff0c;但是不知道怎么實現&#xff1b; 標解&#xff0c;f[i]表示i所屬的集合&#xff0c;用f[in]表示i所屬集合的補集&#xff0c;實現的很巧妙&#xff0c;可以當成一個使用并查集的巧妙應用&#xff1b; 1 #include<iostream>2 #incl…

jvm什么是本地方法

一&#xff1a;什么是本地方法 二&#xff1a;舉例 三&#xff1a;為什么要使用Native Method

SQLServer:用戶自定義數據類型用法

今天給大家梳理一下SQLServer:用戶自定義數據類型用法&#xff0c;希望對大家能有所幫助&#xff01;1、基于基本數據類型創建的別名數據類型-- 創建生日的數據類型 CREATE TYPE birthday FROM datetime NULL; -- 創建用戶表 CREATE TABLE userInfo (id varchar(32), userNam…

python fsolve說明_Python fsolve()抱怨形狀.為什么?

具有函數f(x,y,z),我需要解決限制f(x,y,z) 0然后繪制它.我試圖為每對(y,z)找到f(x,y,z) 0的值x&#xff1a;from numpy import *from scipy.optimize import fsolvedef func(x,y,z):return xyzy linspace(0,1,100)z linspace(0,1,100)x0 zeros((y.size,z.size)) 0.5 # the …

C語言實現與功能的程序,用C語言實現Ping程序功能

2001 年 10 月 01 日大部分人用ping命令只是作為查看另一個系統的網絡連接是否正常的一種簡單方法。在這篇文章中&#xff0c;作者將介紹如何用C語言編寫一個模擬ping命令功能的程序。ping命令是用來查看網絡上另一個主機系統的網絡連接是否正常的一個工具。ping命令的工作原理…

數據庫知識:SQLServer變量相關知識介紹

今天給大家分享SQLServer變量相關介紹&#xff0c;希望對大家能有所幫助&#xff01;1、概述SQLServer變量對應內存中的一個存儲空間。它和常量不同&#xff0c;變量的值可以在執行過程中改變。2、分類SQLServer變量根據作用范圍不同主要分為局部變量和全局變量。2.1.局部變量局…

oauth基本流程和原理

組裝loginurl-》去第三方登錄驗證-》回調callbackurlcode&#xff08;票據&#xff09;-》本地根據codeappidappkey組裝url隱式curl獲取用戶信息-》完成登錄。 之所以要用callbackurl的形式是因為不能讓用戶在你本地輸入賬號密碼防止被盜號。 之所以不在callbackurl的時候&…

halcon輪廓擦除_halcon第十二講,毛刺去除

在視覺測量中我們很會被毛刺問題困擾&#xff0c;產生干擾的因素很多&#xff0c;有打光問題和產品本生帶毛刺&#xff0c;接下來給兄弟們帶來兩種去毛刺的方法。第一種read_image (Image1323153Ba0b96cf52f88f1, 1)rgb1_to_gray (Image1323153Ba0b96cf52f88f1, GrayImage)lapl…