Linux环境ENV的概念
一、基本概念
环境变量的含义:程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。
按变量的周期划为永久变量和临时性变量2种:
- 永久变量:通过修改配置文件,配置之后变量永久生效。
- 临时性变量:使用命令如export等命令设置,设置之后马上生效。当关闭shell的时候失效(这种主要用于测试比较多)。
按照影响范围分为用户变量和系统变量2种: - 用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用;
- 系统变量(全局变量):影响范围是整个系统;
二、查看环境变量
env命令 在Shell下,用env命令查看当前用户全部的环境变量。
env
export命令 export命令显示当前系统定义的所有环境变量
export
env|grep 环境变量名可以筛选包含的环境变量。
例如查看环境变量名中包含PATH的环境变量。
env|grep PATH
env|grep 环境变量名
env|grep PATH
echo命令
echo 环 境 变 量 名 : 查 看 特 定 的 环 境 变 量 的 值 。 注 意 , 符 号 环境变量名:查看特定的环境变量的值。注意,符号环境变量名:查看特定的环境变量的值。注意,符号不能缺少,这是语法规定。
例如:输出当前的PATH环境变量的值
echo $PATH
三、设置环境变量
用户环境变量
用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。在用户的主目录,有几个特别的文件,用ls是看不见的(可以用ll)。
- .bash_profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
- .bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
- .bash_logout
当每次退出系统(退出bash shell)时执行该文件。
- .bash_history
保存了当前用户使用过的历史命令。
配置临时环境变量export命令
export PATH使用export命令直接修改PATH的值,配置gcc进入环境变量的方法:export PATH=/home/zhou/gcc/bin:$PATH
#或者把PATH放在前面
export PATH=$PATH:/home/zhou/gcc/bin
注意事项:
生效时间:立即生效
生效期限:当前终端有效,窗口关闭后无效
生效范围:仅对当前用户有效
配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置
配置用户环境变量.bashrc文件
通过修改用户目录下的~/.bashrc文件进行配置:
vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/zhou/gcc/bin
注意事项:
生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
生效期限:永久有效
生效范围:仅对当前用户有效
如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效
配置用户环境变量.bash_profile文件
和修改~/.bashrc文件类似,也是要在文件最后加上新的路径即可:
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/zhou/gcc/bin
注意事项:
生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效
生效期限:永久有效
生效范围:仅对当前用户有效
如果没有/.bash_profile文件,则可以编辑/.profile文件或者新建一个
配置系统环境变量/etc/profile文件
vim /etc/profile
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc类似:
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profilevim /etc/profile# 在最后一行加上
export PATH=$PATH:/home/zhou/gcc/bin