Linux环境变量详解
环境变量的含义
程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的
环境变量分类
环境变量的分类
- 按生效的范围分类
- 系统环境变量:公共的,对全部用户生效
- 用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效
- 按生存周期分类
- 永久环境变量:在环境变量脚本中配置,用户每次登录时会自动执行这些脚本,相当于永久生效
- 临时环境变量:使用时在shell中临时定义,退出shell后失效
Linux环境变量
Linux环境变量也成为Shell环境变量,习惯上使用大写字母,例如PATH、HOSTNAME、LANG
常用的环境变量
查看环境变量
1 | env |
使用env命令展示当前用户全部的环境变量
1 | echo $PATH |
使用echo $变量名
展示指定环境变量
常用的环境变量
PATH
可执行程序的搜索目录,可执行程序包括系统命令和用户的应用程序
LD_LIBRARY_PATH
C/C++语言动态链接库的搜索目录,需要C/C++程序员手动设置
设置环境变量
临时环境变量
1 | export MYSITE='ciiki.eu.org' |
如果环境变量值无空格或特殊字符,单引号可省略。使用export设置的环境变量在退出shell后失效
系统环境变量
- 将设置环境变量命令写入/etc/profile(不建议)
- 将设置环境变量命令写入/etc/bashrc(不建议)
- 在/etc/profile.d/下新建*.sh,写入*.sh(文件名随意,建议)
用户环境变量
- 将设置环境变量命令写入.bashrc(不建议)
- 将设置环境变量命令写入.bash_profile(建议)
环境变量执行顺序
1 | /etc/profile->/etc/profile.d/*.sh->/etc/bashrc->用户的.bash_profile->用户的.bashrc |
同名环境变量以最后执行的配置为准
重要的环境变量
PATH环境变量
可执行程序的搜索目录
PATH环境变量存放的是目录列表,目录之间使用冒号:分隔,最后的原点代表当前目录。
export PATH=目录一:目录二:...目录n:.
PATH默认为
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
在.bash_profile里扩充PATH
export PATH=$PATH:可执行文件路径一:可执行文件路径二
$PATH代表载入已有环境变量
LD_LIBRARY_PATH环境变量
export LD_LIBRARY_PATH=目录一:目录二:...目录n
http代理
1 | export http_proxy=http://172.30.16.1:1082 |
取消代理
1 | unset http_proxy |
经验之谈
虽然设置环境变量方法多种,为了便于维护,系统环境变量设置在/etc/profile.d/,用户环境变量设置在.bash_profile中,遵守建议就好了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ciiki的博客!
评论