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.mzph.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…