Linux是一个多用户的操作系统,每个用户登录之后,都会有一个专用的运行环境。
通常,每个用户默认的环境都是相同的,这个默认的环境实际上就是一组环境变量的定义。
用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
常见的环境变量:
PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数。
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
PS1:是基本提示符,对于root用户是#,对于普通用户是$。
PS2:是附属提示符,默认是“>”。
/etc/profile ~/.profile ~/.bashrc /etc/bash.bashrc 等等都属于设置环境变量的配置文件,这些文件的配置会在系统启动或者用户登录的时候读取到当前运行的系统中,命令行输入env命令可以查看当前的环境变量。
一、环境变量
Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的。
1.系统级:
1)/etc/environment:
是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可。
2)/etc/profile:
是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。该文件一般是调用/etc/bash.bashrc文件。
3)/etc/bash.bashrc:
系统级的bashrc文件,为每一个运行bash shell的用户执行此文件。此文件会在用户每次打开shell时执行一次。
注意:
/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 这两个文件修改后一般都要重启系统才能生效。
2.用户级(这些文件处于家目录下)
1)~/.profile:
是对应当前登录用户的profile文件,用于定制当前用户的个人工作环境。
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
2)~/.bashrc:
是对应当前登录用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。平时设置这个文件就可以了。
根据以上描述,这几个文件的执行先后顺序应当是:
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
二、环境变量的设置
有如下三种方法来设置环境变量:
1、直接用set或export命令:
在linux下设定环境变量时,如果只是临时用一下,可以直接在shell下用set或export命令设定环境变量。
只能在当前shell脚本下生效,切换到另一个终端就会失效。
下面是export的使用方法:
export [-fnp][变量名称]=[变量设置值]
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
例如:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
(#若需要将路径放在优先搜索位置,将$PATH放在后面 PATH=/opt/au1200_rm/build_tools/bin:$PATH 。)
在终端查看一个特定的环境变量
#echo $PATH
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。
2、修改profile文件:
#vi /etc/profile
在里面加入: export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
修改完成之后需要source /etc/profile 一下,加载配置。
3. 修改bashrc文件:
如果你想让所有的用户的shell都能使用该路径,则你要修改 /etc/bashrc 这个文件,怎么修改,具体情况具体分析。
如果只想让某个用户使用,只需要在该用户家目录下的.bashrc文件加入变量配置即可。
例如:
# vi /etc/bashrc
在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
然后source /etc/bashrc 使当前配置生效。