一.关于linux配置文件

1.linux下主要有四个配置文件:/etc/profile 、/etc/bashrc 、/root/.bashrc 、/root/.bash_profile。

  • ​ /etc/profile 设置的是系统全局环境和登录系统的一些配置,该配置对所有用户生效;
  • ​ /etc/bashrc 是shell 全局自定义配置文件,主要用于自定义 shell,该配置对所有用户的shell都生效;
  • ​ /root/.bashrc 用于单独自定义root用户的 bash,只对root用户的bash生效,如果要使elk用户生效,则需要配置/home/elk/.bashrc文件;
  • ​ /root/.bash_profile 用于单独自定义root用户的系统环境,只对root用户生效,如果要使elk用户生效,则需要配置/home/elk/.bash_profile。

2./etc/profile 、/etc/bashrc这两个配置文件是全局配置文件,对所有用户生效;/username/.bashrc 、/username/.bash_profile是局部

配置文件,只对单个用户生效。

3.举个最简单的例子:一个项目中需要你配置java环境,如果java环境只是elk用户用到,其他用户压根用不到,此时就把java环境配置

在/home/elk/.bash_profile里;但是如果你这个项目是java web项目,所有的服务都是基于java环境的,此时你就需要把java配置

到/etc/profile里面,省得去每个用户下面配置;如果elk用户想对自己的一些常规操作设置别名,但是又不想影响别人,就可以把别名设

置在/home/elk/.bashrc里面;如果系统管理员想设置bash的代码补全,bash的颜色,并且对所有的用户生效,则需要配置

在/etc/bashrc里面

二.验证四个配置文件的加载顺序

1.现在就衍生出一个问题,当我们登录系统或者系统开机时,这四个配置文件的加载顺序是怎样的?

2.解题思路:在这四个配置文件的末尾追加一行"echo "this is ****"",然后登录系统,看echo输出顺序就知道四个配置文件的加载顺序了。

3.现在开始证明,以root用户为例:

#在每个配置文件末尾追加echo "this is *****"
[root@node5 ~]# echo "echo "this is /etc/profile"" >> /etc/profile
[root@node5 ~]# echo "echo "this is /etc/bashrc"" >> /etc/bashrc
[root@node5 ~]# echo "echo "this is /root/.bashrc"" >> /root/.bashrc
[root@node5 ~]# echo "echo "this is /root/.bash_profile"" >> /root/.bash_profile #现在断开连接,使用root用户登录系统
Connection closed. Disconnected from remote host(node5) at 10:23:38. Type `help' to learn how to use Xshell prompt.
[c:\~]$ Connecting to 192.168.110.184:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'. WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Mon Dec 14 09:14:27 2020 from 192.168.110.1
this is /etc/profile
this is /etc/bashrc
this is /root/.bashrc
this is /root/.bash_profile

三.结论

从2.3步的输出不难看出,当登录系统或者新开启一个 ssh连接启动 bash 进程时,这四个配置文件的加载顺序如下:

  • ​ /etc/profile > /etc/bashrc > /root/.bashrc > /root/.bash_profile

linux下/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile这四个配置文件的加载顺序的更多相关文章

  1. 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

    1.配置文件占位符 RaandomValuePropertySourcr:配置文件可以使用随机数     ${random.value}    ${random.int}  ${random.long ...

  2. java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序

    如果是发布到weblogic的话,可以在WebContent\WEB-INF\weblogic.xml里面配置.参考配置如下:<?xml version="1.0" enco ...

  3. linux下/etc/profile、/etc/bashrc、~/.bashrc 和~/.bash_profile文件的区别

    这个一定要理解登录式shell和非登录式shell的区别,前者是完全切换用户,后者是不完全,就算切换过来了,你pwd时家目录还是之前的家目录,所以 登录式顺序为:/etc/bashrc---/etc/ ...

  4. linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程

    关于登录linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...

  5. [转] linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程

    分类: linux 2015-03-13 16:24 1572人阅读 评论(0) 收藏 举报linuxprofile关于登录linux时,/etc/profile.~/.bash_profile等几个 ...

  6. Ubuntu环境变量(.profile)加载顺序

    Ubuntu下启动的时候的的加载环境变量的过程大致为: /etc/enviroment /etc/profile   -->/etc/bash.bashrc   --> /etc/prof ...

  7. linux配置加载顺序

    linux加载配置项时通过下面方式 首先 加载/etc/profile配置 然后 加载/ect/profile.d/下面的所有脚本 然后 加载当前用户 .bash_profile 然后 加载.bash ...

  8. Linux环境变量加载顺序

    01.环境变量文件描述 /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置./etc ...

  9. release环境下,当前不会命中断点,还没有为该文档加载任何符号

    今天在release编译环境下出现了如标题所说的问题“ 当前不会命中断点,还没有为该文档加载任何符号”,在网上找了几个方法都没有解决我的问题,咨询了一下师傅,解决了,很简单,方法如下:右键--属性-- ...

随机推荐

  1. 新同事不讲“码”德,这SQL写得太野了,请耗子尾汁~

    今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题,导致写出来的SQL语句效率低下,所以我们也可以自省自检一下. 1. LIMI ...

  2. 全面解析RayFire的动态对象与静态对象

    我们在日常使用RayFire的过程中,接触得比较多的应该就是RayFire的对象设置了.RayFire的对象包含了动态对象.静态对象与休眠对象,其中动态对象.静态对象可以结合动力学.运动学概念设置动作 ...

  3. FL studio系列教程(十七):FL Studio走带面板介绍

    FL Studio走带面板主要是用来控制播放.录音以及调整歌曲速度的,除此之外还可以用来选择样本剪辑.下面就来详细地看一下这部分菜单. 1.样本/歌曲模式 样本/歌曲模式主要是用来切换样本和歌曲两种模 ...

  4. python中的unittest库

    1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块 包含以下几个子模块 测试用例:TestCase 测试集:TestSuite 加载用例:TestLoader ...

  5. sql常用函数整理

    SQL中包含以下七种类型的函数: 聚合函数:返回汇总值. 转型函数:将一种数据类型转换为另外一种. 日期函数:处理日期和时间. 数学函数:执行算术运算. 字符串函数:对字符串.二进制数据或表达式执行操 ...

  6. leetcode 33和 leetcode81 II

    //接上上一篇博客,继续这个题目,现在数组中会有重复元素,情况将会变得十分复杂,比如说1,1,1,1,1   或者1,1,3,1再来 3,3,3,1,1,1,3,这些都是可以的,都是符合题目要求的,如 ...

  7. 基于Vue、Springboot网站实现第三方登录之QQ登录,以及邮件发送

    基于Vue.Springboot实现第三方登录之QQ登录 前言 一.前提(准备) 二.QQ登录实现 1.前端 2.后端 1.application.yml 和工具类QQHttpClient 2.QQL ...

  8. python测试代码

    前言: 编写函数或者类时,需要编写测试代码,来保证其的功能运行是否按预期的那样工作.在程序添加新的代码时,用来测试是否会破坏本身的功能. 我们使用python自带的unittest模块来测试代码. 编 ...

  9. 【AcWing 113】【交互】特殊排序——二分

    (题面来自AcWing) 有N个元素,编号1.2..N,每一对元素之间的大小关系是确定的,关系不具有传递性. 也就是说,元素的大小关系是N个点与N*(N-1)/2条有向边构成的任意有向图. 然而,这是 ...

  10. AppWeb认证绕过漏洞(CVE-2018-8715)

    AppWeb认证绕过漏洞(CVE-2018-8715) 一.漏洞描述 Appweb简介 Appweb是一个嵌入式HTTP Web服务器,主要的设计思路是安全.这是直接集成到客户的应用和设备,便于开发和 ...