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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章