Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别

提纲
1、PATH
2、LIBRARY_PATH和LD_LIBRARY_PATH



1、PATH

PATH是可执行文件路径。

是三个中我们最常接触到的,因为我们命令行中的每句能运行的命令,如ls、top、ps等,都是系统通过PATH找到了这个命令执行文件的所在位置,再运行这个命令的可执行文件的。

执行echo $PATH能看到当前环境的PATH都配置哪些路径

像我的环境,我还添加了常用的,如pyenv、go、mysql等。

PATH配置起来也略简单。

比如说,在用户的目录下有一个bin文件夹,里面放了有可执行的二进制文件、shell脚本等。

需求:我想在任意目录下都能运行上述bin文件夹的可执行文件。

操作:那么我只需要把这个bin的路径添加到PATH上:

vim /etc/profile
PATH=$PATH:~/bin

即可。



2、LIBRARY_PATH和LD_LIBRARY_PATH

LIBRARY_PATH和LD_LIBRARY_PATH这两个路径可以放在一起讨论。

LIBRARY_PATH是程序编译期间查找动态链接库时指定查找共享库的路径。
LD_LIBRARY_PATH是程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径。
两者的共同点是库,库是这两个路径和PATH路径的区别,PATH是可执行文件。

两者的差异点是使用时间不一样。
一个是编译期,对应的是开发阶段,如gcc编译。
一个是加载运行期,对应的是程序已交付的使用阶段。

配置方法也是类似:
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:XXXX



猜你喜欢

转载自blog.csdn.net/zhangzl4321/article/details/128551339