linux配置文件的启动顺序

简介:

当我们登录Linux shell时,shell会执行一系列初始化动作,其中就包括读取配置文件,然后根据配置文件来设置环境信息。事实上,在登录shell时会读取两个配置文件:/etc/profile和用户目录下的配置文件(以.开头的隐藏文件.bash_profile),那他们之间的关系怎样呢?用户目录下还有哪些配置文件呢?今天我就给你一一道来。

  1. /etc/profile --- 为系统的每个用户设置环境信息,对所有用户的登录shell都有效(全局配置文件)。此文件中设定的变量(全局)可以作用于任何用户,而.bash_profile和.bashrc中设定的变量(局部)只能作用于当前登录用户。/etc/profile和.bash_profile、.bashrc的关系类似于父子关系,具有继承特性。

  2. .bash_profile --- 为当前用户设置环境信息,仅对当前用户的登录shell有效(局部配置文件)。

  3. .bashrc --- .bash_profile只被登录shell读取并仅仅执行一次,如果在命令行上键入bash启动一个新的shell,这个新shell读取的是.bashrc而不是.bash_profile,将登录shell和运行一个子shell所需的配置文件分开可以获取非常灵活的配置策略,从而满足不同的场景。

  4. .bash_history --- 操作bash的历史记录

  5. .bash_logout --- 当每次退出shell时,该文件被读取并执行,主要做一些扫尾的工作,比如:删除帐号内临时文件或记录登录系统所化时间等信息。

  6. /etc/bashrc --- 和.bashrc的含义一样,只不过适用于所有的用户(全局)。

在登录Linux时,执行文件的顺序如下:

登录Linux ---> /etc/profile ---> /etc/profile.d/*.sh ---> $HOME/{.bash_profile | .bash_login | .profile}  ---> $HOME/.bashrc ---> /etc/bashrc

 

事实上,很多情况下某些配置文件是一样的,比如.bashrc.bash_profile,这时只需要在一个配置文件中执行另外一个配置文件就可以了,例如source .bashrc,或 ..bashrc(匿名命令)。

 

【注意】

  1. 经过编辑的.bash_profile文件,直到退出再次登录,该文件被重新读取后,.bash_profile中的内容才会生效。



 本文转自 sjfbjs 51CTO博客,原文链接:http://blog.51cto.com/11886896/1829723

相关文章
|
6月前
|
网络协议 Ubuntu Linux
linux网络配置文件
Linux网络配置文件因发行版不同而异:Ubuntu使用`/etc/network/interfaces`,Red Hat系列采用`/etc/sysconfig/network-scripts/ifcfg-ethX`,CentOS用`/etc/sysconfig/network`设置主机名和网关,`/etc/resolv.conf`配置DNS。其他文件如`/etc/hostname`和`/etc/nsswitch.conf`也影响网络设置。编辑这些文件时,记得先备份,并可能需重启网络服务以应用更改。具体操作应参考相应Linux发行版的文档。
73 1
|
Linux
17.4 【Linux】systemctl 针对 timer 的配置文件
17.4 【Linux】systemctl 针对 timer 的配置文件
110 0
|
6月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
101 2
|
3月前
|
存储 Ubuntu Linux
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
|
3月前
|
存储 安全 Linux
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
|
3月前
|
网络协议 Ubuntu Linux
在Linux中,设置DNS需要修改哪个配置文件?
在Linux中,设置DNS需要修改哪个配置文件?
|
4月前
|
Ubuntu 应用服务中间件 Linux
Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件
总的来说,OpenResty的Nginx配置文件是一个强大的工具,它允许你以非常灵活的方式定义你的Web服务的行为。
97 2
|
4月前
|
NoSQL 算法 Linux
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
120 0
|
Linux 开发工具
如何在 Linux 中编辑配置文件?
如何在 Linux 中编辑配置文件?
394 2
如何在 Linux 中编辑配置文件?
|
5月前
|
Linux 开发工具 数据安全/隐私保护
远程编辑Linux配置文件
远程编辑Linux配置文件
下一篇
无影云桌面