linux全局和个人配置文件说明

时间:2021-08-16 16:08:40

1.bash配置文件:

1).全局(bash的配置文件)

    /etc/profile   /etc/profile.d/*   /etc/bashrc

    其实都是bash这个程序启动的时候会读取配置信息的.

    无论现在什么样的应用程序,大多数都需要用配置文件来保存用户可以进行的设定的

2).用户个人:

    ~/.bash_profile ~/.bashrc  

我们对bash所做的任何设定,都可以将这些修改写入到这些文件中,但是这些文件还略有不同,并不是每一次bash的执行都会读取每一个bash配置文件的,这要取决于用户启动bash的启动方式(用户登陆,执行脚本)

2. bash启动运行模式:(交互和非交互模式)

1.).交互式模式

用户登录然后执行命令

2.).非交互式模式

将来我们通过系统的自动化执行命令定义好定时任务执行脚本,用户不需要登录,脚本就会运行,而脚本的运行需要解释器去执行,bash的解释器就是bash,因此每一个脚本运行起来就会启动一个bash进程, 因此,交互式和非交互式的bash进程读取的配置文件是不一样的,而且读取次序也有所不同.

次序很关键:如果同一个变量或者设定出现了多次,那最后读取的生效。

1.  对于交互式的用户登录而言,读取次序是:

--> /etc/profile  

--> /etc/profile.d/*(会被profile文件调用全部)

--> ~/.bash_profile     

--> ~/.bashrc   

--> /etc/bashrc

对于不同的用户,其用户个人配置文件是不一样的,所以其设定结果也是不一样的.

对于非交互的bash读取配置文件(执行脚本)

   ~/.bashrc   -->     /etc/bashrc     -->     /etc/profile.d/*(最后一个不读)

其他文件将不再读取.

配置文件有的是profile类文件,有些是bashrc类文件.

profile

        1.  设定环境变量

        2.  运行命令或脚本  

用户登陆之前就运行一些命令或者脚本的话,就写在这里,bash登陆之前就进行的准备类工作

        

        /etc/profile        对全局生效

        ~/.bash_profile     仅对该用户生效

 

2.  bashrc

        1.  通常用于设定本地变量,对当前shell生效,对子shell不生效

        2.  设定命令别名