如题。
Linux系统下最重要的10个环境变量:
变量名称 作用HOME 用户的主目录(即家目录)。
SHELL 用户在使用的SHELL解释器名称。
HISTSIZE 历史命令记录条数。
HISTFILESIZE 历史命令记录条数。
MAIL 邮件信箱文件保存路径。
LANG 系统语言、语系名称。
RANDOM 生成一个随机数字。
PS1 bash解释器的提示符。
PATH 定义解释器搜索用户执行命令的路径。
EDITOR 用户默认的文本编辑器。
Linux系统为了能够为每个用户提供独立的、合适的工作运行环境,因此在不同的用户身份下提取一个相同的变量也可能会获得不同的值,例如查看下HOME变量在不同用户身份下的值都有那些吧(su是用于切换用户身份的命令,将在第5章跟大家见面~):
[root@linuxprobe ~]# echo $HOME
/root
[root@linuxprobe ~]# su - linuxprobe
Last login: Fri Feb 27 19:49:57 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ echo $HOME
/home/linuxprobe
其实变量是由固定的变量名与用户或系统设置的变量值两部分组成的,如果工作需要完全可以自己手工创建的,例如设置一个名称为WORKDIR的变量,方便用户更轻松的进入一个很深层的目录:
[root@linuxprobe ~]# mkdir /home/workdir
[root@linuxprobe ~]# WORKDIR=/home/workdir
[root@linuxprobe ~]# cd $WORKDIR
[root@linuxprobe workdir]# pwd
/home/workdir
但是这样的变量不具有全局性,作用范围也是有限的,默认不能够被其他用户使用的,如果工作需要的话咱们可以使用export命令将其提升为全局变量,这样其他的用户也就可以使用到这个变量了,这里涉及的一些基础命令可以参阅《Linux就该这么学》
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe ~]$ echo $WORKDIR
[linuxprobe@linuxprobe ~]$ exit
[root@linuxprobe ~]# export WORKDIR
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe workdir]$pwd
/home/workdir
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到
~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。本回答被网友采纳