在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。

系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量
            用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量

自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。

系统级

/etc/profile

在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。

 提示:在Linux系统中,使用以下命令可以使配置文件立刻生效。

source /etc/profile
echo $PATH

/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)

在 bash shell 打开时运行,修改该文件配置的环境变量将会影响所有用户使用的bash shell。

注意:这里的bash shell有不同的类别,不同的类别所使用的环境变量配置文件也有所不同。一般情况下,非登录shell不会执行任何profile文件,非交互shell模式不会执行任何bashrc文件。

# 登录shell和非登陆shell:
登录shell # 需要输入用户密码,例如 ssh 登录或者 su - 命令提权都会启动login shell模式
非登陆shell # 无需输入用户密码;# 交互shell和非交互shell:
交互shell # 提供命令提示符等待用户输入命令的是交互shell模式
非交互shell # 直接运行脚本文件是非交互shell模式

/etc/environment

在系统启动时运行,用于配置与系统运行相关但与用户无关的环境变量,修改该文件配置的环境变量将影响全局。

用户级

~/.profile(推荐首选)

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。

~/.bashrc

当用户登录时以及每次打开新的shell时该文件都将被读取,不推荐在这里配置用户专用的环境变量,因为每开一个shell,该文件都会被读取一次,效率肯定受影响。

~/.bash_profile 或 ~./bash_login

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile"
when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login").
However, these files won't influence a graphical session by default.

以上是ubuntu官网给出的关于~/.bash_profile 和 ~./bash_login 的说明,翻译为中文:

~/.bash_profile 或 ~./bash_login -
如果有其中的一个文件存在的话, 当启动的是一个 登录shell时,Bash 会执行该文件而不会执行~/.profile ;
如果两个文件都存在的话,Bash 将会优先执行~/.bash_profile 而不是~/.bash_login ;
然而, 默认情况下,这些文件不会影响图形会话。

~/.bash_logout

当每次退出系统(退出bash shell)时执行该文件。

注意:Linux系统使用 $VARIABLE_NAME 访问环境变量,多个环境变量之间使用 : 分隔,Windows系统使用 %VARIABLE_NAME% 访问环境变量,多个环境变量之间使用 ; 分隔。

一般情况下,Linux加载环境变量配置文件的执行顺序为:

==> /etc/profile
==> ~/.bash_profile | ~/.bash_login | ~/.profile
==> ~/.bashrc
==> /etc/bashrc
==> ~/.bash_logout

Linux环境变量文件介绍相关推荐

  1. Ubuntu 环境变量文件介绍

    转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取 ...

  2. linux 环境变量文件_应急响应系列之Linux库文件劫持技术分析,有点硬核哟

    0×01 菜逼阶段 Linux库文件劫持这种案例在今年的9月份遇到过相应的案例,当时的情况是有台服务器不断向个可疑IP发包,尝试建立连接,后续使用杀软杀出木马,重启后该服务器还是不断的发包,使用net ...

  3. Linux中环境变量文件及配置

    一.环境变量文件介绍 转自:http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html Linux中环境变量包括系统级和用户级,系统级 ...

  4. linux中d4B什么意思,Linux中环境变量文件及配置+++

    Linux中环境变量文件及配置 一.环境变量文件介绍 转自:://http://www.doczj.com/doc/63e2b4bd482fb4daa48d4b53.html/cscmaker/art ...

  5. Linux环境变量配置

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 在自定义安装软件的时候,经常需要 ...

  6. Linux环境变量详解

    Linux环境变量详解 环境变量是操作系统环境设置的变量,适用于整个系统的用户进程. 环境变量分类 按照权限分类 系统级:系统级的环境变量是每个登录到系统的用户都要读取的系统变量 用户级:用户级的环境 ...

  7. Linux 环境变量配置总结

    Linux是多用户的任务系统,对于每个用户都可以指定特定的用户变量.针对不同程序在不同的环境下运行就需要修改环境变量进行定制,本文介绍 Linux常见的环境变量设置方法,希望对你有帮助.图片 一.Li ...

  8. Linux 环境变量配置全攻略,超详细~

    感谢您抽出 . . 阅读本文 Linux是多用户的任务系统,对于每个用户都可以指定特定的用户变量.针对不同程序在不同的环境下运行就需要修改环境变量进行定制,本文介绍 Linux常见的环境变量设置方法, ...

  9. linux环境变量和linux命令export

    什么是环境变量,Linux环境变量及作用 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值.在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如 ...

  10. Linux环境变量说明与配置

    相关的配置文件说明: /etc/profile 范围:对所有用户生效 作用: a.定义USER变量 b.定义LOGNAME变量 c.定义MAIL变量 d.定义PATH变量 e.定义HOSTNAME变量 ...

最新文章

  1. Revit:概念建模环境技能学习 Revit: Conceptual Modeling Environment
  2. Python3 的多线程使用:_thread,threading,multiprocessing
  3. 全国计算机等级考试三级网络技术考试大纲
  4. 刚评上院士的马斯克就飘了,说要每天发射三次大火箭,向火星转移100万吨物资...
  5. 如何查看服务器账户密码信息文件,如何查询服务器的数据库账号密码
  6. Swift中文件和图片上传处理
  7. readfile函数使用方法_1分钟学会LOOKUP函数,有网友说使用这个方法,初学者秒变大神...
  8. php重写curl_setopt函数,PHP curl_share_setopt函数
  9. zTree实现地市县三级级联报错(一)
  10. [C] 从文件读取数据
  11. 为了完成月入三万的目标,我都做了哪些准备?
  12. Spring Cloud 之 Eureka.
  13. 词法分析程序实验报告
  14. 图像数据增强扩充数据库_分析数据扩充以进行图像分类
  15. 快逸报表传递中文参数乱码解决
  16. 【日常篇】006_从黑体辐射到RGB——如何定量计算光谱的颜色?
  17. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)
  18. 精准授时,GPS北斗卫星授时同步时钟系统的天花板
  19. 第一次ACM赛后总结及感悟
  20. python英英字典开发过程中学到的tkFont的使用

热门文章

  1. Application loader:ERROR ITMS-90168: The binary you uploaded was invalid.
  2. NYOJ34韩信点兵
  3. Python中的变量作用域,LEGB规则和闭包原理
  4. U8字符串(u8前缀)的作用
  5. 2014年牡丹江现场赛打铁记
  6. 七牛的管理接口不支持js端发送请求进行管理(设计到跨域问题)
  7. JS文本中间显示省略号
  8. os_pend_multi.c
  9. 十大BI报表可视化工具
  10. Emlog资源吧V2.0模板