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

2022-09-03 19:25:06 浏览数 (1)

1.bash配置文件:

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

有 /etc/profile /etc/profile.d/* 与 /etc/bashrc

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

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

2)、用户个人:

代码语言:javascript复制
~/.bash_profile 和 ~/.bashrc  

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

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

1.)、交互式模式

用户登录然后执行命令

2.)、非交互式模式

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

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

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

代码语言:javascript复制
--> /etc/profile  

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

--> ~/.bash_profile     

--> ~/.bashrc   

--> /etc/bashrc

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

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

代码语言:javascript复制
~/.bashrc   -->     /etc/bashrc     -->     /etc/profile.d/*(最后一个不读)

其他文件将不再读取.

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

profile类

1. 设定环境变量

2. 运行命令或脚本

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

代码语言:javascript复制
/etc/profile        对全局生效

~/.bash_profile     仅对该用户生效

2. bashrc类

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

2. 设定命令别名

0 人点赞