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 目录中进行共享库的搜索。

相关推荐
千墨1 分钟前
VMware安装Centos 9虚拟机+设置共享文件夹+远程登录
linux·运维·centos
ChinaRainbowSea1 小时前
1. Linux下 MySQL 的详细安装与使用
linux·数据库·sql·mysql·adb
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
百锦再1 小时前
在Linux上创建一个Docker容器并在其中执行Python脚本
linux·python·docker
忧虑的乌龟蛋2 小时前
嵌入式 Linux:使用设备树驱动GPIO全流程
linux·服务器·嵌入式·imx6ull·gpio·点灯·pinctrl
朝九晚五ฺ2 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习
小林熬夜学编程2 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
m0_748236113 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
linux·spring boot·后端
鱼不如渔3 小时前
leetcode刷题第十三天——二叉树Ⅲ
linux·算法·leetcode
梦游钓鱼4 小时前
beremiz笔记chatgpt,部署在Ubuntu:20.04版本
linux·笔记·ubuntu