Linux中PATH、LIBRARY_PATH、LD_LIBRARY_PATH的作用

1、PATH

PATH是存储可执行文件搜索路径的系统环境变量,它包含了一组由冒号 : 分隔的目录列表。当运行一个命令时,操作系统会在这些目录中查找相应的可执行文件,并在找到后执行它。

例如,在命令行中执行ls命令时,就会依次在PATH变量列出的目录中查找ls命令,如果找到则执行,否则会提示找不到该命令。可以通过以下方式修改PATH环境变量:

bash 复制代码
export PATH=$PATH:/exe_path/bin

永久修改:

bash 复制代码
# 修改 ~/.bashrc 或 /etc/profile 
export PATH=$PATH:/exe_path/bin

# 生效
source ~/.bashrc
或者
source /etc/profile

此命令将把/exe_path/bin目录添加到系统的PATH变量中。

2、LIBRARY_PATH

LIBRARY_PATH是存储编译器查找库文件搜索路径的系统环境变量。当编译源代码时,编译器会在这些目录中查找指定的库文件,以便将其链接到可执行文件中。可以通过以下方式修改 LIBRARY_PATH 环境变量:

bash 复制代码
export LIBRARY_PATH=$LIBRARY_PATH:/compile_lib_path/lib

永久修改:

bash 复制代码
# 修改 ~/.bashrc或系统级别的/etc/profile
export LIBRARY_PATH=/compile_lib_path/lib:$LIBRARY_PATH 
# 生效
source ~/.bashrc
或者
source /etc/profile

此命令将在系统的LIBRARY_PATH变量中追加 /compile_lib_path/lib 目录,以后编译程序时,编译器将会在 /compile_lib_path/lib 目录中进行库文件的搜索。

3、LD_LIBRARY_PATH

LD_LIBRARY_PATH是存储运行时共享库文件搜索路径的系统环境变量。当在运行可执行程序时,动态链接器 (ld.so) 会在这些目录中查找相应的共享库文件。一旦找到了这些库文件,就会将它们加载到程序中。可以通过以下方式修改LD_LIBRARY_PATH环境变量:

bash 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

永久修改:

bash 复制代码
修改 ~/.bashrc 或者 ~/.bash_profile文件
export LD_LIBRARY_PATH=/ld_path/bin:$path
# 同步
source ~/.bashrc
或者 
source ~/.bash_profile

此命令将在系统的LD_LIBRARY_PATH变量中追加 /ld_path/bin 目录,以后运行程序时,动态链接器将会在 /ld_path/bin 目录中进行共享库的搜索。

相关推荐
arvin_xiaoting20 分钟前
#zsh# #Ubuntu# 一键安装zsh、oh-my-zsh、常用插件
linux·ubuntu·elasticsearch
脏脏a30 分钟前
【Linux】Linux工具漫谈:yum 与 vim,高效操作的 “左膀右臂”
linux·运维·服务器
APItesterCris1 小时前
构建弹性数据管道:利用淘宝商品 API 进行流式数据采集与处理
linux·数据库·windows
艾莉丝努力练剑1 小时前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
kyle~1 小时前
计算机系统---CPU的进程与线程处理
linux·服务器·c语言·c++·操作系统·计算机系统
NiKo_W1 小时前
Linux 进程通信——基于责任链模式的消息队列
linux·服务器·消息队列·责任链模式·进程通信
云飞云共享云桌面1 小时前
广东某模具制造工厂用一台云服务器供8个研发设计同时用
linux·运维·服务器·网络·自动化·制造
江公望2 小时前
Ubuntu /usr/include/x86_64-linux-gnu目录的作用浅谈
linux·ubuntu
报错小能手2 小时前
linux学习笔记(31)网络编程——TCP time_wait机制
linux·笔记·学习
Raymond运维3 小时前
MySQL源码编译安装
linux·数据库·mysql