志在指尖
用双手敲打未来

linux环境变量(配置文件)

linux环境变量

、环境变量的概念
1、环境变量的含义
程序(操作体系指令和使用程序)的履行都需求运转环境,这个环境是由多个环境变量组成的。
2、环境变量的分类
1)按收效的范围分类。
体系环境变量:公共的,对悉数的用户都收效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户收效。
2)按生存周期分类。
永久环境变量:在环境变量脚本文件中装备,用户每次登录时会自动履行这些脚本,相当于永久收效。
临时环境变量:运用时在Shell中临时定义,退出Shell后失效。
3、Linux环境变量
Linux环境变量也称之为Shell环境质变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上运用大写字母,例如PATH、HOSTNAME、LANG等。
二、常用的环境变量
1、检查环境变量
1)env指令
在Shell下,用env指令检查当时用户悉数的环境变量。
上图只截取了部分环境变量,并非悉数。
用env指令的时分,满屏显现了很多环境变量,不方便检查,能够用grep挑选。
env|grep环境变量名
例如检查环境变量名中包括PATH的环境变量。
env|grepPATH
2)echo指令
echo$环境变量名
注意,符号$不能缺少,这是语法规定。
2、常用的环境变量
1)PATH
可履行程序的查找目录,可履行程序包括Linux体系指令和用户的使用程序,PATH变量的详细用法本文后边的章节中有详细的介绍。
2)LANG
Linux体系的言语、区域、字符集,LANG变量的详细用法本文后边的章节中有详细的介绍。
3)HOSTNAME
服务器的主机名。
4)SHELL
用户当时运用的Shell解析器。
5)HISTSIZE
保存历史指令的数目。
6)USER
当时登录用户的用户名。
7)HOME
当时登录用户的主目录。
8)PWD
当时工作目录。
9)LD_LIBRARY_PATH
C/C++言语动态链接库文件查找的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,详细用法本文后边的章节中有详细的介绍。
10)CLASSPATH
JAVA言语库文件查找的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要,详细用法本文后边的章节中有详细的介绍。
三、设置环境量
变量名=’值’
export变量名

export变量名=’值’
假如环境变量的值没有空格等特殊符号,能够不必单引号包括。
示例:
exportORACLE_HOME=/oracle/home
exportORACLE_BASE=/oracle/base
exportORACLE_SID=snorcl11g
exportNLS_LANG=’SimplifiedChinese_China.ZHS16GBK’
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
采用export设置的环境变量,在退出Shell后就会失效,下次登录时需求从头设置。假如期望环境变量永久收效,需求在登录脚本文件中装备。
1、体系环境变量
体系环境变量对悉数的用户收效,设置体系环境变量有三种办法。
1)在/etc/profile文件中设置。
用户登录时履行/etc/profile文件中设置体系的环境变量。可是,Linux不主张在/etc/profile文件中设置体系环境变量。
2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux引荐的办法。
/etc/profile在每次发动时会履行/etc/profile.d下悉数的脚本文件。/etc/profile.d比/etc/profile好保护,不想要什么变量直接删去/etc/profile.d下对应的shell脚本即可。
/etc/profile.d目录下有很多脚本文件,例如:
在以上示例中,/etc/profile.d目录中的oracle.sh是Oracle数据库的环境变量装备文件,内容如下:
3)在/etc/bashrc文件中设置环境变量。
该文件装备的环境变量将会影响悉数用户运用的bashshell。可是,Linux也不主张在/etc/bashrc文件中设置体系环境变量。
2、用户环境变量
用户环境变量只对当时用户收效,设置用户环境变量也有多种办法。
在用户的主目录,有几个特别的文件,用ls是看不见的,用ls.bash_*能够看见。
1).bash_profile(引荐首选)
当用户登录时履行,每个用户都能够运用该文件来装备专归于自己的环境变量。
2).bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取,不引荐在里面装备用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
3).bash_logout
当每次退出体系(退出bashshell)时履行该文件。
4).bash_history
保存了当时用户运用过的历史指令。
3、环境变量脚本文件的履行次序
环境变量脚本文件的履行次序如下:
/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
同名的环境变量,假如在多个脚本中有装备,以最终履行的脚本中的装备为准。
还有一个问题需求注意,在/etc/profile中履行了/etc/profile.d的脚本,代码如下:
foriin/etc/profile.d/*.sh;do
if[-r”$i”];then
if[“${-#*i}”!=”$-“];then
.”$i”
else
.”$i”>/dev/null
fi
fi
done
所以,/etc/profile.d和/etc/profile的履行次序还要看代码怎样写。
四、重要环境变量的详解
1、PATH环境变量
可履行程序的查找目录,可履行程序包括Linux体系指令和用户的使用程序。假如可履行程序的目录不在PATH指定的目录中,履行时需求指定目录。
1)PATH环境变量寄存的是目录列表,目录之间用冒号:分隔,最终的圆点.表明当时目录。
exportPATH=目录1:目录2:目录3:……目录n:.
2)PATH缺省包括了Linux体系指令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),假如不包括这些目录,Linux的常用指令也无法履行(要输入绝对路径才干履行)。
示例:
3)在用户的.bash_profile文件中,会对PATH进行扩充,如下:
exportPATH=$PATH:$HOME/bin
4)假如PATH变量中没有包括圆点.,履行当时目录下的程序需求加./或运用绝对路径。
示例:
2、LANG环境变量
LANG环境变量寄存的是Linux体系的言语、区域、字符集,它不需求体系管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对LANG的设置。
CentOS6.x字符集装备文件在/etc/syscconfig/i18n文件中。
CentOS7.x字符集装备文件在/etc/locale.conf文件中,内容如下:
3、LD_LIBRARY_PATH环境变量
C/C++言语动态链接库文件查找的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。
LD_LIBRARY_PATH环境变量寄存的也是目录列表,目录之间用冒号:分隔,最终的圆点.表明当时目录,与PATH的格局相同。
exportLD_LIBRARY_PATH=目录1:目录2:目录3:……目录n:.
4、CLASSPATH
JAVA言语库文件查找的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要。
CLASSPATH环境变量寄存的也是目录列表,目录之间用冒号:分隔,最终的圆点.表明当时目录,与PATH的格局相同。
五、环境变量的收效
1)在Shell下,用export设置的环境变量对当时Shell当即收效,Shell退出后失效。
2)在脚本文件中设置的环境变量不会当即收效,退出Shell后从头登录时才收效,或许用source指令让它当即收效,例如:
source/etc/profile
六、使用经验
尽管设置环境变量的办法有多种,可是主张体系环境变量主张在/etc/profile.d目录中装备,用户环境变量在用户的.bash_profile中装备,不主张在其它脚本文件中装备环境变,会增加运维的麻烦,简单犯错。

linux

linux环境变量配置文件

Linux环境变量装备
在自界说安装软件的时分,常常需求装备环境变量,下面列举出各种对环境变量的装备办法。
下面一切比如的环境阐明如下:
体系:Ubuntu14.0
用户名:uusama
需求装备MySQL环境变量途径:/home/uusama/mysql/bin
Linux读取环境变量
读取环境变量的办法:
export指令显现当时体系界说的一切环境变量
echo$PATH指令输出当时的PATH环境变量的值
这两个指令履行的作用如下
uusama@ubuntu:~$export
declare-xHOME=”/home/uusama”
declare-xLANG=”en_US.UTF-8″
declare-xLANGUAGE=”en_US:”
declare-xLESSCLOSE=”/usr/bin/lesspipe%s%s”
declare-xLESSOPEN=”|/usr/bin/lesspipe%s”
declare-xLOGNAME=”uusama”
declare-xMAIL=”/var/mail/uusama”
declare-xPATH=”/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”
declare-xSSH_TTY=”/dev/pts/0″
declare-xTERM=”xterm”
declare-xUSER=”uusama”
uusama@ubuntu:~$echo$PATH
/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
其中PATH变量界说了运行指令的查找途径,以冒号:分割不同的途径,运用export界说的时分可加双引号也可不加。
Linux环境变量装备办法一:exportPATH
运用export指令直接修正PATH的值,装备MySQL进入环境变量的办法:
exportPATH=/home/uusama/mysql/bin:$PATH#或许把PATH放在前面exportPATH=$PATH:/home/uusama/mysql/bin
注意事项:
收效时刻:当即收效
收效期限:当时终端有用,窗口封闭后无效
收效规模:仅对当时用户有用
装备的环境变量中不要忘了加上本来的装备,即$PATH部分,避免覆盖本来装备
Linux环境变量装备办法二:vim~/.bashrc
经过修正用户目录下的~/.bashrc文件进行装备:
vim~/.bashrc#在最终一行加上exportPATH=$PATH:/home/uusama/mysql/bin
注意事项:
收效时刻:运用相同的用户翻开新的终端时收效,或许手动source~/.bashrc收效
收效期限:永久有用
收效规模:仅对当时用户有用
如果有后续的环境变量加载文件覆盖了PATH界说,则可能不收效
Linux环境变量装备办法三:vim~/.bash_profile
和修正~/.bashrc文件相似,也是要在文件最终加上新的途径即可:
vim~/.bash_profile#在最终一行加上exportPATH=$PATH:/home/uusama/mysql/bin
注意事项:
收效时刻:运用相同的用户翻开新的终端时收效,或许手动source~/.bash_profile收效
收效期限:永久有用
收效规模:仅对当时用户有用
如果没有~/.bash_profile文件,则能够修改~/.profile文件或许新建一个

未经允许不得转载:IT技术网站 » linux环境变量(配置文件)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载