/etc/profile和~/.bash_profile的区别与联系_bash_profile 和 etc/profile 什么关系_迷途大灰狼的博客-程序员宅基地

技术标签: linux  

/etc/profile

为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效。当被修改时,必须重启才会生效。英文描述:”System wide environment and startup programs, for login setup.”

/etc/environment

系统的环境变量,/etc/profile是所有用户的环境变量,前者与登录用户无关,后者与登录用户有关,当同一变量在两个文件里有冲突时,以用户环境为准。

/etc/bashrc

为每个运行 bash shell 的用户执行该文件,当 bash shell 打开时,该文件被执行,其配置对所有使用bash的用户打开的每个bash都有效。当被修改后,不用重启只需要打开一个新的 bash 即可生效。英文描述:”System wide functions and aliases.”

~/.bash_profile

为当前用户设置专属的环境信息和启动程序,当用户登录时该文件执行一次。默认情况下,它用于设置环境变量,并执行当前用户的 .bashrc 文件。理念类似于 /etc/profile,只不过只对当前用户有效,也需要重启才能生效。(注意:Centos7系统命名为.bash_profile,其他系统可能是.bash_login或.profile。)

~/.bashrc

为当前用户设置专属的 bash 信息,当每次打开新的shell时,该文件被执行。理念类似于/etc/bashrc,只不过只对当前用户有效,不需要重启只需要打开新的shell即可生效。

~/.bash_logout

为当前用户,每次退出bash shell时执行该文件,可以把一些清理工作的命令放进这个文件。

/etc/profile.d/

此文件夹里是除/etc/profile之外其他的”application-specific startup files”。英文描述为”The /etc/profile file sets the environment variables at startup of the Bash shell. The /etc/profile.d directory contains other scripts that contain application-specific startup files, which are also executed at startup time by the shell.” 同时,这些文件”are loaded via /etc/profile which makes them a part of the bash “profile” in the same way anyway.” 因此可以简单的理解为是/etc/profile的一部分,只不过按类别或功能拆分成若干个文件进行配置了(方便维护和理解)。

注意事项

  1. 以上需要重启才能生效的文件,其实可以通过source xxx暂时生效。

  2. 文件的执行顺序为:当登录Linux时,首先启动/etc/environment和/etc/profile,然后启动当前用户目录下的/.bash_profile,执行此文件时一般会调用/.bashrc文件,而执行/.bashrc时一般会调用/etc/bashrc,最后退出shell时,执行/.bash_logout。简单来说顺序为:

    (登录时)/etc/environment –> /etc/profile(以及/etc/profile.d/里的文件) –> ~/.bash_profile –> (打开shell时)~/.bashrc –> /etc/bashrc –> (退出shell时)~/.bash_logout

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sqlquan/article/details/103339045

智能推荐

谈一下目前对编程的感想_zxy2008116的博客-程序员宅基地

看了很多的文章,报道,博客关于如何成为一名优秀的程序员的文章,虽然迄今为止对我没有什么太大的帮助,因为编程对于我或者我这个层次的人来说现在似乎只是个起步,虽然会用一些软件,编一些小程序,偶尔会沾沾自喜,但是当我看了很多的文章之后,我就感觉到自己是多么小的一只找到米吃就很开心的蚂蚁,虽然曾多次有过熬夜做程序的经历,但是似乎此刻看来没有多大的价值,因为我似乎忘记了应该追寻的是技能的需求,当然技术也很重

win764位Oracle11g64位下使用PLSQLDeveloper的解决办法_forai的博客-程序员宅基地

1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_

COM+应用程序错误(错误代码8004E00F)COM+ 无法与 Microsoft 分布式事务协调程序交谈的解决方法_8004e00f - com+ 无法与_kofkyo的博客-程序员宅基地

1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。    2、进入事件查看器,发现msdtc服务没有正常启动。    3、删除注册表中的键:  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC   HKEY_LOCA_8004e00f - com+ 无法与

802.1ag CFM/802.3ah EFM OAM/Y.1731 ETH OAM学习笔记_寒江雪翁的博客-程序员宅基地

相关协议:1)IEEE 802.1ag 连通性故障管理(CFM:Connectivity Fault Management)2)IEEE 802.3ah 第一英里的以太网(EFM:Ethernet in the First Mile),其中第57章的以太网OAM3)ITU-T Y.1731 以太网OAM(Operation, Administration and Maintenance

Ubuntu18.04安装MySQL数据库_哆啦A梦!!!的博客-程序员宅基地

1、ubuntu18.04系统下安装mysql的注意事项注意:在Ubuntu18.04系统下,采用sudo apt install mysql-server命令的方式默认安装的是MySQL5.7,MySQL5.7版本最高只适配到Ubuntu17.04,不支持Ubuntu18.04。MySQL8.0可适配到Ubuntu18.04,故如果系统使用的Ubuntu18.04,只能安装MySQL8.0,而且加密方式需要选择5.x的加密,因为有兼容性问题,如果你已经执行了上边的命令,安装了MySQL5.7,需要先卸载

hdu 5276(BestCoder Round#46 1001) YJC tricks time__NMfloat_的博客-程序员宅基地

It's asimple problem.But I hesitate many times.Reading Text is necessary.The portal:http://acm.hdu.edu.cn/showproblem.php?pid=5276#include #include long long a[15][65][15];long long getangle

随便推点

YJ_NameTool_UI_YYY_陈刚12的博客-程序员宅基地

#YJ_NameTool_UI##Designer:YangJie#Email:[email protected]#Version:1.0from maya.cmds import*from YJ_NameTool import*import pickleimport osimport redef CreatNameUI(): if window('YJ_Name_R

CAS配置(3)之restful-api接入接口_bamang6147的博客-程序员宅基地

第一步,cas服务端对api接口支持在cas-server-webapp下pom.xml添加如下依赖 <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-integration-restlet..._cas6.6 restapi

vue cli3.x webpack去掉 打包自动生成的js、css文件hash版本号_config.plugin('optimize-css').tap()_superKM的博客-程序员宅基地

vue cli3打包默认生成文件会自带随机hash值如果想要去掉中间的版本控制首先先在根目录配置好vue.config.js文件在vue.config.js文件中module.exports = { // webpack配置 chainWebpack: config => { if (process.env.NODE_ENV === 'p..._config.plugin('optimize-css').tap()

mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。_大强012的博客-程序员宅基地

mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提...

mac安装zsh,给普通用户和root用户的配置不同的颜色和提示符_wk3368的博客-程序员宅基地

1.普通用户wenke 自动安装“oh my zsh”:$su wenke$cd $wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh$vi .oh-my-zsh/themes/robbyrussell.zsh-theme local ret_statu...

Delphi 笔记(二) 窗体属性设置 主窗体、透明度、隐藏和显示_identifier redeclared_csdn-唯一的博客-程序员宅基地

1、窗体透明度设置及窗体淡入淡出delphi设置窗口透明form1.AlphaBlend :=true; //透明form1.AlphaBlendValue :=180; //透明度form1.TransparentColor :=true; //透明颜色原文链接:https://www.cnblogs.com/del88/p/4297760.html窗体淡入淡出将AlphaBlend设置为True,然后更改AlphaBlendValue属性的值。从0开始增加,最大255。_identifier redeclared

推荐文章

热门文章

相关标签