Linux 环境变量配置文件
环境变量配置文件有两个层次,一个是系统层次,环境变量配置文件存放路径"/etc/profile与/etc/bashrc".另一个是用户层次,环境变量配置文件存放路径在用户家目录下的"~/.bash_profile与~/.bashrc"而用户层次除了这两个外还有"~/.bash_history与~/.bash_logout".
这些文件的作用解释:
/etc/profile与~/.bash_profile 作用: 用户登陆的时候会加载到这个环境变量配置文件,需用用户登陆这个环境变量配置文件的配置才能生效。
/etc/bashrc与~/.bashrc 作用: 用户不需要登陆,该环境变量配置文件的配置都能生效。
~/.bash_history 作用: 是记录用户的命令历史
~/.bash_logout 作用:自定义配置用户在退出系统时进行的一些操作
在生产环境中,尽量不要去更改系统层次的环境变量配置。除非有特殊要求的全局变量配置。
总结:
系统的环境变量配置文件有两个层次,一个是系统层次,配置文件在etc下的。另一个是用户层次的,每一个用户的家目录下都会有隐藏的环境变量配置文件。而/etc/profile、~/.bash_profile与/etc/bashrc、~/.bashrc这两种环境变量配置文件的区别在于,profile是需要用户登录才加载生效相关配置信息,当然profile会自动调用bashrc里边的配置信息。bashrc则是不需要用户登录环境变量配置的信息都能生效。
扩展:
在文章中的"~/.bashrc"等其他文件中的"~"表示用户家目录,如图1所示。
图1"~"表示用户家目录
在我们更改任何一个配置文件时,都需要重新加载(source)一下才生效,这里有个符号与这个source作用是一致的,那就是"."、如图2所示。
图2 "source"与"."作用一致
用户登录显示格式变量"PS1",更改这个变量是需要在系统层次的bashrc中更改,用户登录默认显示信息如图3所示。
图3 用户登录系统默认显示的信息
在"PS1"中不但可以定义显示信息模式也可以让它们带有颜色显示,如图4所示。
图4 变量"PS1"更改
图4所使用的配色方式:PS1='\[\033[01;\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
图中的更改方式只是临时生效的,若想全局或永久生效则需要更改环境变量的配置文件,如图5所示。
图5 在两个层次中的不同更改方式