常见的环境变量

【1】HOME:当前用户的主目录

【2】PATH:可执行命令的所在目录,我们执行的Linux命令都是在这个换几个变量下面的各种目录中的

【3】BASH:bash  shell的全路径

【4】HISTFILE:记录历史命令文件的文件(/root/.bash_history,也就是用户主目录下的.bash_history文件),该文件记录当前用户执行过的命令。这也是为什么下次登陆可以找到以前执行过的命令

【5】HOSTNAME:主机名

【6】HOSTTYPE:主机架构,是i386、i686、还是x86、x64等

【7】LANG:当前系统语言环境

【8】PWD:当前路径

【9】OLDPWD:记录之前的目录

【10】PATH:比较重要的环境变量,可执行命令的搜索路径

环境变量相关的文件

【1】/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置,即在/etc/profile和/etc/profile.d/*.sh定义的变量,都是全局的系统环境变量。source /etc/profile 可以让该文件的修改立刻生效

【2】/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)

【3】~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件

【4】~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

【5】~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部) 只能继承 /etc/profile中的变量,他们是"父子"关系。

 

文件加载顺序:

  1. ==> /etc/profile
  2. ==> ~/.bash_profile  
  3. ==> ~/.bashrc
  4. ==> /etc/bashrc
  5. ==> ~/.bash_logout

环境变量的分类及查看

环境变量分类:

【1】全局环境变量:

全局环境变量对于shell会话和所有生成的子shell都是可见的。/etc/profile和/etc/profile.d/*.sh定义的变量

【2】局部环境变量:

局部环境变量只能在定义他们的进程中可见

【3】用户定义变量:

创建一个bash shell,就能创建在这个shell中可见的局部变量,例如写一个sh脚本,其中定义的一些变量

环境变量的查看:

【1】env和printenv:可以查看 全局环境变量

【2】echo $变量名:查看指定环境变量

【3】set:查看某个特定进程的所有环境变量,包括局部变量,全局变量,用户定义变量

环境变量的设置

【1】export:可以设置全局变量,只对当前shell有效

【2】PATH=$PATH:新加内容:只对当前shell有效

【3】修改配置文件~/.bashrc:source  ~/.bashrc生效,只对当前用户有效 

【4】修改/etc/bashrc 文件:source  /etc/bashrc生效, 对所有用户生效