【Linux】环境变量是什么?如何配置?详解

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶🔹C++🔹Liunx
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

文章目录

  • 一、 什么是环境变量?
  • 二、为什么要配置环境变量?
  • 三、Linux中如何查看当前环境变量?
  • 四、配置环境变量

一、 什么是环境变量?

环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数

在Windows中,打开高级选项–环境变量便可以看到如下

在这里插入图片描述
但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。


环境变量的用户变量与系统变量的区别

  • 我也是刚注意到这个问题哈哈,下面就是环境变量的用户变量与系统变量的区别

1、环境变量没有区分大小写,例如path跟PATH是一样的
2、系统变量对所有用户有效
3、用户变量只对当前用户有效
4、用户变量与系统变量,名称是变量,值是里面的内容,也就是通过变量存储了想要存储的内容,方便调用
5、系统变量与用户变量的PATH:告诉系统可执行文件放在什么路径(平常执行程序的路径,要放在PATH里面,不能建一个变量,cmd会提示“不是内部或外部命令,或者不是可执行程序”)
6、windows系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件等;
7、若果当前目录找不到对应文件名的程序,在系统变量的PATH的路径中,依次寻找对应的可执行程序文件(查找顺序是按照路径的录入顺序从左往右寻找的,最前面一条的优先级最高,如果找到程序就停止寻找,后面的路径不再执行)
8、如果系统变量的PATH的路径找不到,再到用户变量的PATH路径中寻找(如果系统变量和用户变量的PATH中同时包含了同一个命令,则优先执行系统变量PATH中的命令)
9、每次新加了命令以后,要确定保存了。再重启CMD,否则命令不生效的。
10、在CMD里要输出环境变量 ECHO %变量名%

环境变量的本质其实还是变量,系统自己需要开辟空间,里面存放文件名和文件目录。开机时,自动启动


二、为什么要配置环境变量?

在Windows中:

在Windows命令行中,我们输入git,便会显示相关信息,那系统如何找到git所在位置的呢?

首先,我们知道git肯定是一个可执行文件,在windows下可执行文件都是以.exe结尾的,那么我们就要找到它的路径在哪。然后将它的路径添加到系统环境变量中。这样,下次你直接输入git,系统也能找到git所在位置并执行。

如果不配置呢,就需要输入整个路径,同样可以执行。
在这里插入图片描述

在这里插入图片描述

在Linux中也是同理:
在Linux的学习中,我们make编译文件后,执行这个可执行文件时【./可执行文件 】。那你有没有想过为什么要加个./呢?

  • 这个./其实就是相对路径的意思,加上后也就相当于补全了路径去执行。
  • 也可以将你的可执行文件路径加入到环境变量中,就只需要一个名字即可执行。

三、Linux中如何查看当前环境变量?

使用指令,查看当前环境变量

echo $PATH

系统中的环境变量有很多,以[:]来进行分割。其中便有/usr/bin
在这里插入图片描述

这个路径下就存在着我们经常使用的指令【ls】

在这里插入图片描述
所以,这下就懂了,为什么这些指令可以直接使用了吧。

四、配置环境变量

那要怎么去将一个系统路径添加到【环境变量】中呢

  • 这里要使用到一个关键字叫做export,然后将我们所要添加的路径放到其中即可
export PATH=/路径

🚩这里一定要主要覆盖问题,解决方法:
下图所示操作就会覆盖环境变量,导致ls指令找不到了
🔸解决重启Xshell就恢复了
在这里插入图片描述

1️⃣方法一:【>>】使用追加重定向

2️⃣方法二:使用【export PATH=$PATH:/路径】(推荐)

关键字:export

  • 例如:我添加我的myproccess的路径到环境变量中
  • 输入:
export PATH=$PATH:/home/lesson1/dir2

在这里插入图片描述
按照这个方法来运行的话再去查看环境变量就可以发现,这个路径被添加进去了,🌈而且并没有覆盖掉其他的内容

  • 再来执行一下看看
    在这里插入图片描述
  • 但是呢,当我们再去将服务器重启之后,再度运行这个可执行程序的时候,便可以发现我们之前添加的路径不见了。该怎么解决? 后续在说

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解JavaScript事件循环Event Loop:宏任务与微任务的奇幻之旅

🔥 个人主页:空白诗 文章目录 🎉 引言🌟 什么是事件循环?📚 「宏任务」 vs 「微任务」「宏任务」(Macrotask)「微任务」(Microtask)实际应用中的注意事项 🔀 执行流程概览📝 代码示例…

算法学习笔记(2)-前缀和

##前缀和 指的是某序列的前n项和,在数学上我们可以理解称为数列的前n项和。前缀和是一种预处理,用于降低查询的时间复杂度。 ##一维前缀和 有一个一维数组x和该数组的前缀和数组y,则x和y具有以下关系: #python代码示例 #关系&am…

上位机图像处理和嵌入式模块部署(树莓派4b和电源供给)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面,我们说过pc电脑和嵌入式设备,两者都可以实现相同的软件功能。但是和pc相比较,嵌入式设备不仅价格更便宜&a…

计算机视觉——OpenCV实现Lucas-Kanade 光流

1.光流 光流法是计算机视觉中用于估计图像序列中物体运动的关键技术。它类似于观察夜空中的彗星,通过其在天空中的运动轨迹来追踪它的路径。在图像处理中,光流帮助我们理解像素点如何在连续的帧之间移动。 1.1 稀疏光流法 稀疏光流法关注于图像中的关…

Web3空投入门:如何增加空投成功的几率

今天分享空投如何避免限制以提高效率,增加成功几率,首先我们来了解什么是空投加密,有哪些空投类型。 一、什么是空投加密? 加密货币空投是一种营销策略,包括向用户的钱包地址发送免费的硬币或代币。 加密货币项目使用…

Leetcode—155. 最小栈【中等】

2024每日刷题(130) Leetcode—155. 最小栈 实现代码 class MinStack { public:MinStack() {}void push(int val) {if(st.empty()) {st.emplace(val, val);} else {st.emplace(val, min(val, st.top().second));}}void pop() {if(st.empty()) {return;}…

【漏洞复现】用友U8-Cloud XChangeServlet XXE漏洞

0x01 产品简介 用友U8Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 cloud /service/XChangeServlet接口存在XXE漏洞,未授权的攻击者可通过此漏洞获取数据库敏感信息,从而盗取服务器数据,造成服务器信…

林更新博士之路星途璀璨再启航

林更新:博士之路,星途璀璨再启航在这个充满机遇与挑战的时代,有一位演员以其出色的演技和不懈的努力,赢得了无数观众的喜爱。他,就是林更新。今日,一条消息如重磅炸弹般在娱乐圈炸开,让无数粉丝…

UBOOT介绍

一、UBOOT简介 U-boot全称 Universal Boot Loader,是遵循GPL条款的开放源码项目,uboot 是一个裸机代码,可以看作是一个裸机综合例程,执行启动内核的功能。 补充:GPL条款(GNU General Public License&…

空间复杂度与链表刷题

"一切的一切都是你自己在感应." 本文索引 空间复杂度复杂度实例实例1实例2实例3 链表题目1. 返回倒数第K个节点2. 链表的回文结构3. 相交链表4. 随机链表的复制5. 环形链表 总结: 前言: 本文主要探究空间复杂度与链表题目讲解 更多文章点击主页: 酷酷学!!! 如果此文对…

构建内网yum仓库

1、环境介绍 系统:龙蜥os 7.9 2、安装epel源 yum install epel-release -y3、安装nginx服务器并启动 yum install nginx httpd -y配置 server {listen 80;server_name repo.wtown.com;root /usr/share/nginx/html/repo;index index.html index.htm;location / {…

Sora惊艳亮相:AI技术掀起创作革命,影视产业迎来新风貌!

Sora平台近期发布了名为"Sora首次印象"的更新,为用户带来了令人瞩目的变化。该更新不仅展示了Sora平台的发展方向,还介绍了其在电影制作、广告宣传等领域的潜在应用。 同时,Sora的首席执行官Sam Altman与好莱坞影视工作室进行了会…

基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表

目录 一、引言 二、数据分组原理与意义 三、案例分析 四、代码实现与解释 五、对新手友好的解释 六、技术细节与扩展 七、实际应用场景 八、总结 一、引言 在数据处理和分析的广阔领域中,数据分组是一项基础且重要的任务。数据分组通常指的是将数据集中的元…

在做题中学习(55):一维前缀和模板

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 题目解释: 注意:下标从1开始的。 l 和 r就是对这n个整数去取一个区间,例如示例一: (1,2) 区间 就是算出1 2 4 中 1,2下标对应值的和,12 3 同理,(2,3) …

springboot2.x集成Elasticsearch7.7.0

一、前言 elasticsearch安装就不做过多介绍了,网上一搜一大堆;最需要注意的就是Elasticsearch与spring版本,防止版本不兼容导致的后续的一系列问题。我这里springbootspring-data-elasticsearch,他们的版本对照关系可以参照sprin…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

有什么实用的还原试卷的app免费?6个软件教你快速进行还原试卷

有什么实用的还原试卷的app免费?6个软件教你快速进行还原试卷 在现代化的教学环境中,使用数字化工具进行试卷还原变得愈发重要。以下是六个实用的、免费的应用程序,它们为还原试卷提供了便捷的解决方案。 FunAI: 这款应用程序可…

SD-WAN提升Microsoft 365用户体验

随着数字化时代的到来,SaaS应用如Microsoft 365已经成为各类企业的主流选择。在这一趋势下,企业需要以更加灵活、高效的方式使用Microsoft 365,以满足日益增长的业务需求。而传统的网络基础设施可能无法满足这一需求,因此&#xf…

指针的奥秘(三):数组指针+函数指针(+typedef)+函数数组指针+转移表

指针 一.数组指针1.数组指针变量是什么?2.指针数组和数组指针区别和口诀3.数组指针变量怎么初始化4.二维数组传参的本质 二.函数指针1.函数指针变量的创建2.函数指针变量的使用3.两段有趣的代码1.( *( void ( * )( ) )0 ) ( );2.void( *signle(int, void( * )(int) …

TCP协议的确认应答机制

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层协议,它在网络通信中扮演着至关重要的角色。其中,确认应答机制是TCP协议中的一个核心概念,它确保了数据的可靠传输。本文将详细介绍J…