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

linux 环境变量系统:

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

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

https://www.cnblogs.com/lovychen/p/10911699.html

LIBRARY_PATH和LD_LIBRARY_PATH的区别:

https://www.cnblogs.com/lovychen/p/10911600.html

简介:

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

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

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

  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 执行该脚本;

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

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


2、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命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

3、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 命令的用途:

1、在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表

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

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

 

ldd 命令的用途:

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

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

选项:

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

参数:

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

原文地址:https://www.cnblogs.com/lovychen/p/5583703.html