当前位置: 首页 > 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),确保新添加的库路径能够被系统识别。

相关文章:

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

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

gsap动画库对threejs模型的应用

前言 公司的一个3D编辑器项目,要在three模型上加一些补间动画。做了一些调研,最终选择了gsap,其丰富的缓动函数,强大的动画效果和兼容性,更适合公司的需求。 查看gsap文档,发现所有的例子都是针对dom元素…...

网管工作实践_02_IP/MAC地址管理工具

1、ipconfig命令格式及参数 ipconfig是内置于Windows的TCP/IP应用程序,用于显示本地计算机网络适配器的MAC地址和IP地址等配置信息,这些信息一般用来榆验手动配置的TCP/IP设置是否正确。当在网络中使用 DHCP服务时,IPConfig可以检测计算机中分…...

MySQL【触发器、存储过程、函数、范式】

day53 MySQL 触发器 创建触发器:(before : 前置触发器、after :后置触发器) 语法: delimiter xx 指定分隔符xxcreate trigger 触发器名 [before | after] 触发事件 on 表名 for each row 执行语句begin…...

Shopee API接口——获取商家店铺商品列表

一、引言 在跨境电商领域,Shopee作为东南亚地区领先的电商平台,为众多商家提供了广阔的市场和丰富的销售机会。本文将详细介绍如何通过Shopee API获取商家店铺商品列表,并探讨其应用场景。 二、核心功能介绍 Shopee API获取商家店铺商品列…...

linux基础知识14

认知权限信息 通过ls -l可以以列表形式查看内容,并显示权限细节r代表读权限,针对文件可以查看文件内容,针对文件夹,可以查看文件夹内容,如ls命令w代表写权限,针对文件表示可以修改此文件,针对文…...

Qt开发入门与环境搭建(基础篇)

文章目录 Qt开发入门与环境搭建(基础篇)1.1 Qt是什么?1.2 Qt版本介绍1.3 Qt开发环境安装1.4 开发第一个QT程序1.5 调试输出1.6 QT Creator常用的快捷键1.7 QT帮助文档1.8 UI设计师使用1.9 按钮控件组1.10 布局控件组1.11 基本布局控件1.12 UI设计师的布局功能Qt开发入门与环…...

CentOS7环境Maxwell的安装及使用

目录 Maxwell的安装 下载安装包 解压安装包 配置环境变量 启用MySQL Binlog 创建Maxwell所需数据库和用户 配置Maxwell Maxwell的使用 启动Kafka集群 Maxwell启停 Maxwell启停脚本 MySQL数据准备 Kafka开启消费者 全量数据同步 增量数据同步 启动Kafka消费者 …...

python环境变量

目录 python环境变量 python-opencv cuda cudnn pytorch pycharm 激活ok了 pyqt5 labelimg notepad gpu-z python 3.6或3.7 标注,文件路径不能有 python环境变量 import os import syscurrent_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(…...

用进程和线程完成TCP进行通信操作及广播和组播的通信

进程 代码 #include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <signal.h>#includ…...

浅谈Tomcat

文章目录 一、什么是Tomcat&#xff1f;二、Tomcat的下载安装三、使用tomcat访问资源 一、什么是Tomcat&#xff1f; Tomcat 就是一个 HTTP 服务器。 前面我们聊了HTTP服务器&#xff0c;像我们在网页输入URL&#xff0c;其实就是在给人家的HTTP服务器发送请求&#xff0c;既…...

C++精解【7】

文章目录 eigen矩阵初始化多维矩阵矩阵和向量size固定大小or 动态大小Matrix类六个模板参数初始化向量元素类型 参考文献 eigen 矩阵初始化 多维矩阵 数组 MatrixXi a { // construct a 2x2 matrix{1, 2}, // first row{3, 4} // second row }; Matrix<do…...

堆箱子00

题目链接 堆箱子 题目描述 注意点 将箱子堆起来时&#xff0c;下面箱子的宽度、高度和深度必须大于上面的箱子 解答思路 初始想到深度优先遍历&#xff0c;最后超时了参照题解使用动态规划&#xff0c;先将盒子从小到大进行排序&#xff0c;dp[i]存储的是到第i个箱子时堆箱…...

Linux 命令:iftop

1. 写在前面 本文主要介绍 Linux iftop&#xff08;Interface TOP&#xff09; 命令&#xff1a;iftop 是一款小巧、免费且功能强大的网卡实时流量监控工具。监控指定网卡的实时流量、端口连接信息、反向解析 IP 等&#xff0c;还可以精确显示本机网络流量及网络内各主机和本机…...

web学习笔记(六十九)vue2

目录 1. vue2创建脚手架项目 2.vue2如何关闭eslint 1. vue2创建脚手架项目 &#xff08;1&#xff09;在cmd窗口输入npm install -g vue/cli命令行&#xff0c;快速搭建脚手架。 &#xff08;2&#xff09; 创建vue2项目 &#xff08;3&#xff09; 选择配置项目&#xff0c…...

JavaScript全解:从基础到高级,掌握每一个知识点

引言&#xff1a; JavaScript是一种广泛使用的脚本语言&#xff0c;主要用于Web浏览器&#xff0c;但近年来也扩展到了服务器端&#xff08;Node.js&#xff09;和其他领域。它允许开发者创建交互式的网页&#xff0c;处理数据&#xff0c;控制用户界面&#xff0c;甚至构建完…...

RabbitMQ的Direct交换机

Direct交换机 BindingKey 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&a…...

2024.6.26 待学习知识点

OOALV https://www.cnblogs.com/BruceKing/p/11447499.html " 取工单的组件 lt_aufnr CORRESPONDING #( lt_out MAPPING aufnr aufnr EXCEPT * ). ABAP POPUP_TO_CONFIRM 弹出框函数 CLASS-EVENTS CLASS-METHODS main. CLASS-METHODS raise_event_EXIT_COMMAND IMPOR…...

【LeetCode】每日一题:相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&am…...

6.26.1 残差卷积变压器编码器的混合工作流程用于数字x线乳房x光片乳腺癌分类

基于残差卷积网络和多层感知器变压器编码器(MLP)的优势&#xff0c;提出了一种新型的混合深度学习乳腺病变计算机辅助诊断(CAD)系统。利用骨干残差深度学习网络创建深度特征&#xff0c;利用Transformer根据自注意力机制对乳腺癌进行分类。所提出的CAD系统具有识别两种情况乳腺…...

Cangaroo:开源CAN总线分析软件架构解析与深度优化指南

Cangaroo&#xff1a;开源CAN总线分析软件架构解析与深度优化指南 【免费下载链接】cangaroo Open source can bus analyzer software - with support for CANable / CANable2, CANFD, and other new features 项目地址: https://gitcode.com/gh_mirrors/ca/cangaroo Ca…...

【限时解禁】Google I/O 2024未发布的Gemini Android Enterprise Integration白皮书核心章节(仅剩37份授权访问码)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini Android深度整合的战略定位与演进脉络 Google 将 Gemini 模型深度嵌入 Android 生态&#xff0c;并非单纯叠加 AI 功能&#xff0c;而是重构操作系统级智能代理的交互范式。其战略内核在于将大模…...

如何高效清理重复图片?AntiDupl.NET智能去重工具详解

如何高效清理重复图片&#xff1f;AntiDupl.NET智能去重工具详解 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在数字资产管理中&#xff0c;重复文件清理已成为提升…...

Remix Icon终极指南:3200+免费矢量图标库的完整使用手册

Remix Icon终极指南&#xff1a;3200免费矢量图标库的完整使用手册 【免费下载链接】RemixIcon Open source neutral style icon system 项目地址: https://gitcode.com/gh_mirrors/re/RemixIcon 还在为项目寻找高质量的免费图标而烦恼吗&#xff1f;&#x1f914; 每天…...

嵌入式开发中的编程规范实践与行业标准解析

1. 编程规范的本质与价值在嵌入式汽车电子领域干了十五年&#xff0c;我见过太多因为代码不规范导致的惨痛教训。有一次&#xff0c;某车企的ECU控制模块在零下30度环境突然死机&#xff0c;排查三周后发现是未初始化的指针在低温环境下产生了非预期行为——这种问题本可以通过…...

如何在5分钟内快速上手LeRobot机器人AI控制框架:从零到一的完整指南

如何在5分钟内快速上手LeRobot机器人AI控制框架&#xff1a;从零到一的完整指南 【免费下载链接】lerobot &#x1f917; LeRobot: Making AI for Robotics more accessible with end-to-end learning 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot 还在为…...

Swift原生大语言模型推理引擎llmfarm_core.swift集成与优化指南

1. 项目概述&#xff1a;一个为Swift生态打造的本地大语言模型推理引擎 最近在折腾一个iOS上的AI应用&#xff0c;想把一些轻量级的开源大语言模型&#xff08;LLM&#xff09;直接跑在手机端。大家都知道&#xff0c;现在主流的LLM推理框架&#xff0c;像llama.cpp、ollama&am…...

5个高效方法:如何用AKShare处理金融数据去重,避免重复数据干扰分析

5个高效方法&#xff1a;如何用AKShare处理金融数据去重&#xff0c;避免重复数据干扰分析 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcod…...

Ninja构建系统实战:手写BUILD.ninja为你的Python/Go小工具加速

Ninja构建系统实战&#xff1a;手写BUILD.ninja为你的Python/Go小工具加速 在快速迭代的现代开发中&#xff0c;构建流程的效率往往成为瓶颈。当你的Python脚本需要打包成可执行文件&#xff0c;Go模块需要交叉编译&#xff0c;同时还要处理资源文件复制、依赖下载等一系列任务…...

芯片人才危机破局:D.E.I.B.战略如何驱动创新与商业成功

1. 芯片行业人才危机的深度剖析与D.E.I.B.的战略价值 最近和几位在芯片设计公司和晶圆厂负责招聘的老友聊天&#xff0c;大家不约而同地提到了同一个词&#xff1a;“焦头烂额”。不是项目进度卡脖子&#xff0c;而是人根本招不到。一位在模拟芯片公司做HR总监的朋友告诉我&…...