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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix