linux命令(11)环境变量:查看和添加环境变量

linux 环境变量系统:html

系统级别:/etc/profile、/etc/bashrc/ 、/etc/environmentmysql

用户级别:~/.profile、~/.bashrc、 ~/.bash_profile 或 ~/.bash_loginlinux

http://www.javashuo.com/article/p-mphdnvbs-eh.htmlsql

 

LIBRARY_PATH和LD_LIBRARY_PATH的区别:shell

http://www.javashuo.com/article/p-wwwyxcro-ea.htmlubuntu

简介:缓存

  PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉每每会让咱们添加和减小这个变量自己的某些路径,实际上这是不正确的。正确的作法是咱们要去修改赋予这个变量数值的那些配置文件,加一条路径或者减一条。说到底变量只关乎显示,不关乎其用于显示的内容。bash

  首先你能够在命令行输入:echo  $PATH  看看你能看到什么,那是一些 bash 路径,函数

       以下的意思就是往 PATH 里面新增一个/opt/bin的路径,若是不加:$PATH的话,就表示直接把PATH赋值为/opt/bin啦,这样你其余的老路径就丢失了;spa

  export PATH="/opt/bin:$PATH"

  意思是:你如今配置的path在你须要的/opt/bin的目录下,还要再加上原来系统自带的path环境变量,这样写的目的是为了系统能正常启动,并且终端命令可以正常运行,若是丢掉就会命令无效等等;

如何插入环境变量:

  $PATH:决定了shell将到哪些目录中去寻找命令或者程序,PATH值是一系列的目录,当你要运行一个程序时,Linux在这些目录下进行搜寻编译连接。

  编辑PATH 声明,其格式为:

  PATH=$PATH:<PATH1>:<PATH2>:<PATH3>:------:<PATHN>

  你能够本身加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登录时生效,若是想马上生效,则可执行下面的语句:$source .bash_profile

 

 添加环境变量:

注意:

若是export 临时添加环境变量,在脚本中执行的时候,只在该脚本内环境变量有效;

若是是想在该登陆帐户内有效,则须要,用source 执行该脚本;

一、临时变量的添加:退出登陆后失效;

export PATH=$PATH:/XXX  //新的环境变量 加在原有的PATH 后面;
或者
export PATH=/XXX:$PATH  //新的环境变量 加在原有的PATH 前面;
以下所示:注,不能缺失 冒号 :

www@ubuntu:~$ echo $TEST_PATH


www@ubuntu:~$ export TEST_PATH=$TEST_PATH:/home/www/1245
www@ubuntu:~$ echo $TEST_PATH
:/home/www/1245
www@ubuntu:~$ export TEST_PATH=$TEST_PATH:/home/www/124
www@ubuntu:~$ echo $TEST_PATH
:/home/www/1245:/home/www/124
www@ubuntu:~$ export TEST_PATH=/home/www/123:$TEST_PATH
www@ubuntu:~$ echo $TEST_PATH
/home/www/123::/home/www/1245:/home/www/124
www@ubuntu:~$ export TEST_PATH=/home/www/123TEST_PATH //忘加 $,直接等于
www@ubuntu:~$ echo $TEST_PATH
/home/www/123TEST_PATH


二、PATH: 可执行程序的查找路径

查看当前环境变量:   echo $PATH

设置以下:

方法一 export PATH=$PATH:/XXX 可是登出后就失效

  上述方法的PATH 在终端关闭后就会消失。因此仍是建议经过编辑/etc/profile来改PATH,也能够改自家目录下的.bashrc(即:~/.bashrc)。

 

方法二:修改 ~/.bashrc~/.bash_profile 或系统级别的 /etc/profile

    • 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH
    • 2. source .bashrc (Source命令也称为“点命令”,也就是一个点符号(.)。
    • source命令一般用于从新执行刚修改的初始化文件,使之当即生效,而没必要注销并从新登陆)

 

三、LD_LIBRARY_PATH: 动态库的查找路径

查看当前环境变量:   echo $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命令也称为“点命令”,也就是一个点符号(.)。
    • source命令一般用于从新执行刚修改的初始化文件,使之当即生效,而没必要注销并从新登陆)

方法三:这个没有修改 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,此文件保存已排好序的动态连接库名字列表

二、为了让动态连接库为系统所共享,需运行动态连接库的管理命令ldconfig,此执行程序存放在/sbin目录下。ldconfig一般在系统启动时运行,而当用户安装了一个新的动态连接库,修改了ld.so.conf时,就须要手工运行这个命令。

三、linux下的共享库机制采用了相似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边。程序链接的时候首先从这个文件里边查找,而后再到ld.so.conf的路径里边去详细找

 

ldd 命令的用途:

做用:用来查看程序运行所需的共享库,经常使用来解决程序因缺乏某个库文件而不能运行的一些问题。

语法:ldd(选项)(参数)

选项:

    • --version:打印指令版本号;
    •  -v:详细信息模式,打印全部相关信息; 
    • -u:打印未使用的直接依赖; 
    • -d:执行重定位和报告任何丢失的对象;
    •  -r:执行数据对象和函数的重定位,而且报告任何丢失的对象和函数; 
    • --help:显示帮助信息。

参数:

文件:指定可执行程序或者文库。

相关文章
相关标签/搜索