首页 > 系统相关 >Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别

Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别

时间:2024-09-10 16:07:39浏览次数:1  
标签:profile LD 路径 LIBRARY usr PATH

Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别_path library-CSDN博客

这里写目录标题
1. PATH
2. LIBRARY_PATH
3. LD_LIBRARY_PATH
1. PATH
PATH是可执行文件路径 命令行中的命令,如ls等等,都是系统通过PATH找到了这个命令执行文件的所在位置,再run这个命令(可执行文件)。

所以,PATH 配置的路径下的文件可以在任何位置执行,并且可以通过which 可执行文件 命令来找到该文件的位置

查看PATH

pi@raspberrypi:~ $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
1
2
修改PATH
临时修改:

export PATH=/usr/local/mongodb/bin:$PATH
//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户
1
2
3
4
5
永久修改

通过修改.bashrc文件:

vim ~/.bashrc
1
在最后一行添上:

export PATH=/usr/local/mongodb/bin:$PATH
1
生效方法:

source ~/.bashrc
1
用户局限:仅对当前用户

永久修改二

通过修改profile文件:

vim /etc/profile
1
找到设置PATH的行增加,也可以在文本末添加

PATH=$PATH:/etc/apache/bin
1
生效方法:

1.系统重启

2.要想马上生效还要运行 :

source /etc/profile
1
不然只能在下次重进此用户时生效。
用户局限:对所有用户

2. LIBRARY_PATH
LIBRARY_PATH是在程序编译期间查找动态链接库时指定的查找共享库的路径。

指定gcc编译需要链接动态链接库的目录。设置libtest1和libtest2目录

临时修改

export LIBRARY_PATH=libtest1:libtest2:$LIBRARY_PATH
1
关闭当前终端失效

永久修改

修改 .bashrc或.bash_profile或系统级别的/etc/profile

在文末中添加例如
export LIBRARY_PATH=libtest1:libtest2:$LIBRARY_PATH
1
记得执行生效
source .bashrc或者source .bash_profile
1
到此配置完成
gcc *.c -L./libtest1 -L./libtest2 -ltest1 -ltest2
1
编译时分别链接libtest1目录下的libtest1.so库与libtest2目录的libtest2.so库。

3. LD_LIBRARY_PATH
主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径。即用于在程序运行期间查找动态链接库时,指定除了系统默认路径(/usr/lib)之外的路径.

临时修改

export LD_LIBRARY_PATH=libtest1:libtest2:$LD_LIBRARY_PATH
1
永久修改

修改 ~/.bashrc 或者 ~/.bash_profile文件,保存、退出

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/xxx/xxx
1
执行生效

source .bashrc或者 source .bash_profile文件
1
到此修改完成
1
source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 这些配置文件。

另外注明:C_INCLUDE_PATH

指明头文件的搜索路径,此两个环境变量指明的头文件会在-I指定路径之后,系统默认路径之前进行搜索。

LIBRARY_PATH指明库搜索路径,此环境变量指明路径会在-L指定路径之后,系统默认路径之前被搜索。

例如:

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_48859611/article/details/113986310

标签:profile,LD,路径,LIBRARY,usr,PATH
From: https://www.cnblogs.com/zhiminyu/p/18406554

相关文章

  • LG AI 研究中心开源 EXAONEPath:通过285M Patch级预训练模型变革组织病理学图像分析,实
    基于LGAIResearch在AI语言模型方面的显著成就,特别是推出EXAONE3.0之后,EXAONEPath的开发代表了另一个重要的里程碑。这标志着EXAONE在数字病理学这一关键医学诊断领域的一次重大转型,通过解决全幻灯片图像(WSI)在病理学中的复杂挑战以及提高病理图像处理效率,EXAONEPath广泛应用......
  • 【Java】String StringBuffer与StringBuilder(实操+面试+记忆方法)
    Java系列文章目录补充内容Windows通过SSH连接Linux第一章Linux基本命令的学习与Linux历史文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1代码学习与性能测试4.1.1代码4.1.2性能测试结果4.2区别五、总结:5.1使用场景5.2关联记忆......
  • Building Dynamic Memory Allocators
    OutlineDuedate:13September2024,23:59Markweighting:20%ubmission:SubmityourassignmentthroughGitLab(fullinstructionsbelow)Policies:Forlatepolicies,plagiarismpolicies,etc.,seethepoliciespageTimeleft5:03:12:58DaysHrsMinsSecswa......
  • chapter13-常用类——(Date、Calendar、LocalDate)—day17
    目录488-Date介绍489-Date应用实例490-Calendar介绍491-Calendar应用实例492-第三代日期使用493-第三代日期方法494-String翻转495-注册处理题496-字符串统计497-String内存布局测试题488-Date介绍IDEA里面的properties是set/get方法489-Date应用实例4......
  • 上交团队发布PathoDuet:面向H&E和IHC病理切片的自监督学习基础模型|文献精析·24-09-09
    小罗碎碎念本期主题:HE&IHC今天分享的文献于2024年7月31日发表于MedicalImageAnalysis,目前IF=10.7,作者来自上海交大。作者类型姓名单位单位翻译第一作者ShengyiHuaQingYuanResearchInstitute,ShanghaiJiaoTongUniversity,Shanghai200240,China清源研究院,......
  • crontab on raspberry pi, full path, not relative path, is needed.
    Sources: https://forums.raspberrypi.com/viewtopic.php?t=296993 thanksthagrol,thanksRaTTuS,youareright.Igetwrong.10****reboot->isnotrebootin10min.Itisnexthouratminute10reboot*/10****reboot->itisrebbotin10minB......
  • flutter开发Invalid argument(s): Illegal argument in isolate message: object is u
    Invalidargument(s):Illegalargumentinisolatemessage:objectisunsendable-Library:'dart:async'Class1.问题原因:使用flutterisolate的时候新开的isolate访问了其他isolate的变量导致的比如下面例子是错误的写法:finalzhangsan="张三";//这里变量是主隔......
  • SIEMENS LDZ10500494.200 功率单元
    SIEMENSLDZ10500494.200功率单元广泛适用于多个工业领域,这主要得益于其高效、可靠、稳定以及多样化的控制模式等特点。以下是一些该功率单元可能适用的工业领域:电力工业:在电力系统中,LDZ10500494.200功率单元可用于电力传输和分配过程中的关键控制环节,确保电力供应的稳定......
  • 编译hello world
    新建一个文件夹存放代码在文件夹内新建一个java文件。hello.java在文件内编写代码publicclasshello{ publicstaticvoidmain(String[]args){ System.out.print("helloworld!"); }}编译java文件,在文件目录下打开命令提示符窗口,输入:javachello.java编译java......
  • 【高级编程】实用类详解(补充)StringBuffer类 和 StringBuilder类
    文章目录为什么使用StringBuffer?StringBuffer1.声明2.常用方法3.举例4.时间戳StringBuilderStringBufferVSStringBuilder为什么使用StringBuffer?StringBuffer是Java中的一个可变字符序列类,允许在原始对象上进行修改,而不会生成新的字符串对象。与String比较......