5.Linux环境配置与变量管理
5.1Linux变量的类型
*本地变量:仅在一个shell中有效的变量
*环境变量:在所有的子shell中有效的变量,换一个终端就失效了
*全局变量:全局变量又称全局环境变量,将变量写入文件中,当我们重新登录用户或者source下环境变量配置文件,变量就有效。Linux系统中全局环境变量的文件名为 /etc/profile
*用户变量:用户变量又称用户环境变量,是指为用户自己定义的环境变量,我们登录后,系统先读取全局环境变量文件,之后再读取用户环境变量文件,所以,可以在用户环境变量文件对不同的用户定义变量不同的值。Linux系统中用户环境变量的文件名为~/.bash_profile
5.2Linux终端与shell
*终端和shell的关系:一个终端可以看作一个shell
*父子shell:在linux中,我们的进程是有父子关系的,也就是说我们的一个进程必须依赖于其他的进程,我们的bash shell也是作为一个bash进程来运行的,也就是说,我们执行bash命令的时候可以进入当前bash shell中的子shell里。
*pstree | grep bash
查看bash shell的进程树,查看父子shell
*env | grep variable
查看定义的环境变量
*set | grep variable
查看定义的变量,包括环境变量
*source /etc/profile = . /etc/profile,其中.和/中间是分开的
将文件中的变量读到内存中
*export
将本地变量转换成环境变量
5.3登录shell和非登录shell
*登录shell
1)通过图形界面或者虚拟控制台进入
2)su -
代表文件:
/etc/profile
~/.bash_profile
*非登录shell
1)su
2) 终端
3)执行脚本
4)其他
/etc/bashrc
~/.bashrc
优先级:
/etc/bashrc > ~/.bashrc > ~/.bash_profile > /etc/profile