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

相关推荐
charlie1145141914 分钟前
Cinux · musl 静态移植:对齐 Linux ABI、铺初始栈,以及一个被 SMAP 拦下的潜伏 bug
linux·开发语言·c++·操作系统·开源项目
2401_868534788 小时前
指令集-最常用 Linux 命令速查手册(整合版)
linux·网络协议
ltl9 小时前
小文件问题:文件数量如何放大元数据与 I/O 成本
linux
ltl9 小时前
网络延迟优化:Nagle、TCP_NODELAY 与中断亲和
linux
张文君9 小时前
ubuntu26.04从ext4改成mdadm的raid1+lvm启动
linux·运维·网络
xx~t10 小时前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
DevHub10 小时前
QEMU + Busybox 搭建嵌入式 Linux 开发环境:内核编译到启动,30 秒一个迭代
linux·运维·服务器
ouynagda10 小时前
Linux 进程管理详解:从概念到实践
linux·运维·网络
2401_8906034010 小时前
Linux 基础文件IO
linux·运维·服务器