LInux环境变量的配置

LInux环境变量的配置

环境变量简单地说就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。如果没有把某一个目录添加到环境变量中,要访问该目录中的文件,则必须进入到该目录或者指定路径为该目录。否则就会提示文件不存在或命令不存在。

一、环境变量的分类

按环境变量的生存周期来划分,Linux环境变量可分为两类:(1)永久设置:需要修改配置文件,环境变量永久生效。(2)临时设置:使用export命令声明,环境变量只对当前shell有效,在关闭shell时失效。
按环境变量的作用范围,Linux中环境变量分为系统级和用户级,因此管理环境变量的文件也分为系统级和用户级。
(1)系统级的环境变量:每个登录到系统的用户都要读取。(2)用户级的环境变量:某个用户使用系统时加载的环境变量,配置用户级环境变量的文件位于用户的家目录下。

环境变量配置文件:
(1)/etc/profile:登录时操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时该文件被执行。在该文件中配置的环境变量对所有用户有效。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取用户自己的profile前,设置环境文件的环境变量。
(3)~/.bash_profile:在登录时用到的第三个文件,用户使用该文件输入专用于自己的shell信息,当用户登录时该文件仅执行一次。
(4)~/.bashrc:该文件包含专用于某个用户的bash信息,当登录时以及每次打开新的shell时该该文件被读取。

二、常用的环境变量

(1)PATH:指定shell到哪些目录中寻找命令或程序,多个目录之间用冒号分隔;
(2)HOME:当前用户主目录;
(3)LOGNAME:用户的登录名;
(4)HOSTNAME:主机的名称;
(5)SHELL:当前用户Shell类型;
(6)LANGUGE:语言相关的环境变量,多语言可以修改此环境变量;
(7)MAIL:当前用户的邮件存放目录;
(8)PS1:基本提示符,对于root用户是#,对于普通用户是$;
(9)HISTSIZE:历史记录数。

可以使用【env】命令查看所有环境变量的取值:

[root@wgx ~]# env
HOSTNAME=wgx
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.101 65058 22
SSH_TTY=/dev/pts/2
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=zh_CN.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=192.168.1.101 65058 192.168.1.201 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:12.0
G_BROKEN_FILENAMES=1
_=/bin/env

可以使用【echo $环境变量名】命令查看某个环境变量的取值:

[root@wgx ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@wgx ~]# echo $HOME
/root
[root@wgx ~]# echo $HOSTNAME
wgx
[root@wgx ~]# echo $LOGNAME
root
[root@wgx ~]# echo $SHELL
/bin/bash
[root@wgx ~]# echo $LANGUAGE

[root@wgx ~]# echo $HISTSIZE
1000
[root@wgx ~]# echo $PS1
[\u@\h \W]\$
[root@wgx ~]# echo $MAIL
/var/spool/mail/root

三、临时设置环境变量

在shell命令行下使用export命令设置临时环境变量,格式如下:

export PATH="$PATH:your path1:your path2 …"

举例:

[root@wgx /]# export PATH="$PATH:/soft:/usr/local/oracle"
[root@wgx /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/soft:/usr/local/oracle

[root@wgx /]# export HISTSIZE=800
[root@wgx /]# echo $HISTSIZE
800

四、永久设置环境变量

1、配置/etc/profile文件

执行以下命令,然后设置环境变量的值:

vim /etc/profile

在该文件中配置的环境变量作用于所有登录用户。编辑/etc/profile后PATH的修改不会立马生效,如果需要立即生效的话,可以执行命令:

source profile

2、配置当前用户的profile文件

执行以下命令,然后设置环境变量的值:

vim ~/.bash_profile

在该文件中配置的环境变量只对当前用户有效。如果要使更改立即生效,可以执行如下命令:

source ~/.bash_profile
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章