1. PATH: 可执行程序的查找路径
查看当前环境变量:
echo $PATH
设置:
方法一: export PATH=PATH:/XXX 但是登出后就失效
方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH
2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
2. LD_LIBRARY_PATH: 动态库的查找路径
方法一: export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是登出后就失效
方法二: 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH
2. source .bashrc 或source /etc/profile(切换用户的时候,有 login shell(su - root)
和 non-login shell(su root)
的区别;前者在切换的时候会加载 /etc/profile
~/.bash_profile
文件;而后者仅仅加载自身用户目录下的一些环境变量文件)
方法三:这个没有修改LD_LIBRARY_PATH但是效果是一样的实现动态库的查找
1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib
2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)
方法三设置稍微麻烦,好处是比较不受用户的限制。
3.环境变量配置文件
用户环境变量可存储在以下文件中:
- ~/.profile
- ~/.bashrc, ~/.bash_profile, ~/.bash_login(shell启动程序时,它们也会被加载,图新界面启动时不加载)
系统环境变量可存储在以下文件中:
-
/etc/profile
-
/etc/profile.d(它是文件夹)
-
/etc/bash.bashrc(图形界面环境下启动程序时,不会加载它里边的环境变量设置)
在用户登录过程先调用/etc/profile文件,这个环境变量配置文件中会定义这些默认环境变量:
(1)USER变量:根据登录的用户,给这个变量赋值
(2)LOGNAME变量:根据USER变量的值,给这个变量赋值
(3)MAIL变量:根据登录的用户,定义用户的邮箱为/var/spool/mail用户名
(4)PATH变量:根据登录用户的UID是否为0,判断PATH变量是否包含/sbin、/usr/sbin和/usr/local/sbin这三个系统命令目录。
(5)HOSTNAME变量:主机名
(6)HISTSIZE变量:定义历史命令的保存条数
(7)umask:定义umask默认权限。注意/etc/profile文件中的umask权限是在“有用户登录过程(也就是输入了用户名和密码)”时才会生效
(8)调用/etc/profile.d/*.sh文件,也就是调用/etc/profile.d/目录下所有以.sh结尾的文件。
(9)由/etc/profile文件调用~/.bash_profile文件,该文件主要实现了两个功能:调用了~/.bashrc文件和在PATH变量后面加入了“:$HOME/bin”这个目录,然后把自己的脚本放入“~/bin”目录,就可以直接执行脚本,而不用通过目录执行了。
(10)由~/.bash_profile文件调用~/.bashrc文件,通过该文件实现了定义默认级别和调用/etc/bashrc文件的功能
(11)/etc/bashrc文件则主要实现了以下功能:
1、PS1变量:也就是用户的提示符,如果我们想要永久修改提示符,就要在这个文件中修改。
2、umask:定义umask默认权限。这个文件中定义的umask是针对“没有登录过程(也就是不需要输入用户和密码时,比如从一个终端切换到另一个终端,或进入子shell)”时生效的。如果是“有用户登录过程”,则是/etc/profile文件中的umask生效。
3、PATH变量:会给PATH变量追加值,当然也是在“没有登陆过程”时才生效。
4、调用/etc/profile.d/*.sh文件,这也是在“没有用户登录过程”时才调用。
这样五个环境变量配置文件会被依次调用,如果我们自己定义的环境变量想要生效的话就可以以写入上述文件中。当然,如果是针对所有用户生效,应该写入/etc/profile环境变量配置文件;而如果只是仅仅针对自己的话,则应该写入自己的家目录下的~/.bash_profile或·~/.bashrc这两个配置文件中的任意一个。
如果我们不小心误删了这些环境变量,比如删除/etc/bashrc文件,那么提示符就会变成:
-bash-4.1#
在用户退出登录时,也会调用一个叫【~/.bash_logout】的配置文件,这个文件默认没有写入任何内容,可是如果我们希望在退出时执行一些操作,比如清楚历史命令,备份某些数据,就可以把命令写入这个文件。