继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别

煎鱼不可能有BUG
关注TA
已关注
手记 26
粉丝 1.3万
获赞 211

接触Linux或类Unix的系统多了,就会逃不出环境配置,而各种路径(PATH)就是环境的配置中较为重要的一点

PATH

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

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

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

PATH配置起来也略简单。

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

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

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

# vim ~/.bash_profile

PATH=$PATH:~/bin

即可。

LIBRARY_PATH和LD_LIBRARY_PATH

这两个路径可以放在一起讨论,

  • LIBRARY_PATH是程序编译期间查找动态链接库时指定查找共享库的路径
  • LD_LIBRARY_PATH是程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径

两者的共同点是,库是这两个路径和PATH路径的区别,PATH是可执行文件。

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

配置方法也是类似:

export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:XXXX

先这样吧

若有错误之处请指出,更多地关注煎鱼

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP