当前位置: 首页 > news >正文

Linux下如何设置可执行文件和库文件的环境变量?

在Linux系统中,可执行文件和库文件的查找路径是由环境变量控制的,其中最重要的是PATH环境变量用于可执行文件,而动态库的查找路径则由LD_LIBRARY_PATH环境变量决定。下面分别介绍这两个方面:

可执行文件的搜索路径(PATH)

  1. PATH环境变量:当你在命令行输入一个命令并敲击回车时,Linux会按照PATH环境变量中列出的目录顺序依次查找该命令的可执行文件。PATH变量是一个由冒号(:`)分隔的目录列表。

  2. 设置PATH:可以通过以下方式设置或修改PATH

    • 临时设置:在当前终端会话中使用export命令。

      export PATH=$PATH:/my/new/path
      
    • 永久设置:修改配置文件,使每次登录时自动设置PATH

      • 对于全局设置,编辑/etc/profile/etc/environment(取决于发行版)。
      • 对于单个用户设置,编辑~/.bashrc~/.profile(针对bash shell)。

    修改后,可能需要执行source命令使更改立即生效,或重新登录。

  3. 验证:可以用echo $PATH查看当前的PATH设置,用which command_name查看特定命令的完整路径。

动态库文件的搜索路径(LD_LIBRARY_PATH)

  1. LD_LIBRARY_PATH环境变量:当一个程序在运行时需要加载动态链接库(.so文件),Linux会按照LD_LIBRARY_PATH变量中列出的目录顺序查找这些库文件。

  2. 设置LD_LIBRARY_PATH

    • 临时设置

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my/library/path
      
    • 永久设置:同样,可以编辑用户主目录下的.bashrc或系统级的配置文件,但通常不建议永久设置LD_LIBRARY_PATH,因为它可能导致安全风险和管理复杂性。对于安装的库,正确的做法是将其路径添加到配置文件,如/etc/ld.so.conf.d/*.conf,然后运行ldconfig命令更新缓存。

  3. 验证:可以使用ldd command_name命令查看某个可执行文件依赖的动态库及其加载路径。

注意事项:

  • 永久设置环境变量时,务必考虑其影响范围(全局或单用户)以及潜在的安全风险。
  • 动态库的默认搜索路径还包括/lib/usr/lib/usr/local/lib等系统目录,这些目录无须显式设置LD_LIBRARY_PATH
  • 使用ldconfig命令可以更新动态链接库的缓存(/etc/ld.so.cache),确保新添加的库路径能够被系统识别。
http://www.lryc.cn/news/384612.html

相关文章:

  • gsap动画库对threejs模型的应用
  • 网管工作实践_02_IP/MAC地址管理工具
  • MySQL【触发器、存储过程、函数、范式】
  • Shopee API接口——获取商家店铺商品列表
  • linux基础知识14
  • Qt开发入门与环境搭建(基础篇)
  • CentOS7环境Maxwell的安装及使用
  • python环境变量
  • 用进程和线程完成TCP进行通信操作及广播和组播的通信
  • 浅谈Tomcat
  • C++精解【7】
  • 堆箱子00
  • Linux 命令:iftop
  • web学习笔记(六十九)vue2
  • JavaScript全解:从基础到高级,掌握每一个知识点
  • RabbitMQ的Direct交换机
  • 2024.6.26 待学习知识点
  • 【LeetCode】每日一题:相交链表
  • 6.26.1 残差卷积变压器编码器的混合工作流程用于数字x线乳房x光片乳腺癌分类
  • [leetcode]avoid-flood-in-the-city 避免洪水泛滥
  • Pytorch基础
  • 嵌入技术Embedding
  • Pandas中的数据转换[细节]
  • vue2面试题——路由
  • 【AI应用探讨】—朴素贝叶斯应用场景
  • 使用matlab的大坑,复数向量转置!!!!!变量区“转置变量“功能(共轭转置)、矩阵转置(默认也是共轭转置)、点转置
  • 昇思25天学习打卡营第8天|保存与加载
  • 【vueUse库Animation模块各函数简介及使用方法】
  • 汇川H5u小型PLC作modbusRTU从站设置及测试
  • 基于Java的多元化智能选课系统-计算机毕业设计源码040909