【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. 环形链表 总结: 前言: 本文主要探究空间复杂度与链表题目讲解 更多文章点击主页: 酷酷学!!! 如果此文对…

AI时代:低代码与人工智能引领科技创造新时代

随着科技的飞速发展,我们步入了一个崭新的时代——AI时代。在这个时代,低代码和人工智能技术如日中天,成为引领科技创造的新引擎。本文将围绕这一主题,探讨低代码和人工智能如何在各个领域发挥巨大作用,推动科技创造迈…

Linux 之 tail 命令

一、基本语法 tail [option] [file] 其中 option 是可选参数,用于定制命令的行为,file 则是要处理的目标文件名。 二、常用参数 几个常用的 option 选项: -n:显示文件的最后 n 行,默认为 10 行。-f:实…

13. WINCC -- C脚本实现弹窗调用(根据鼠标更改弹窗位置)

C脚本实现弹窗调用(根据鼠标更改弹窗位置) #include "apdefap.h" void Click(char* lpszPictureName, char* lpszObjectName ) { #define H 300 //弹窗高度(可以不用只需要在弹窗属性中选择调整大小即可) #define W …

构建内网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规则分为三个列表

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

Qt程序打包命令windeployqt.exe的使用方法

Qt程序打包命令windeployqt.exe的使用方法: 一、该命令是Qt自带的程序,位于d:\Qt\Qt5.14.2\5.14.2\mingw74_64\bin文件夹中。 二、添加环境变量。 三、把Qt生成的debug或release文件夹中的bin文件兲中的内容拷贝至D:\temp文件夹中,并在文件管…

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

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

Nginx配置项详解

Nginx,以其高性能、稳定性强、资源消耗低的特性,成为众多网站和应用首选的Web服务器及反向代理服务器。其配置文件的灵活性和丰富性是其强大功能的关键所在。本文将深入解析Nginx配置文件中的核心概念与关键配置项,帮助您更好地理解和定制Ngi…

springboot2.x集成Elasticsearch7.7.0

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