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

【计算机常识】--环境变量

在 Linux/Unix 系统中,​​环境变量(Environment Variables)​​是操作系统或用户设置的全局参数,用于存储系统或程序的配置信息。其中,​​PATH​​ 是最重要的环境变量之一,它决定了系统在哪些目录中查找可执行程序(命令)。

目录

1.环境变量--定义

2.环境变量--查看

3.环境变量--path变量

4.环境变量--原理

5. 环境变量--新建


1.环境变量--定义

  1. 环境变量是操作系统或程序运行环境中设置的变量,用于存储系统或程序运行所需的配置信息,如路径、语言设置、临时文件位置等

    。它们以键值对(名称-值)的形式存在,例如:
    • Windows/DOS中的 PATH:指定可执行文件的搜索路径
    • Linux中的 HOME:定义用户主目录路径
  2. ​核心作用​

    • ​路径管理​​:如 PATH 变量帮助系统查找可执行文件
    • ​程序配置​​:如 JAVA_HOME 指定JDK安装路径
    • ​跨平台适配​​:通过变量(如 TEMP)适应不同系统的目录结构

2.环境变量--查看

ls Env:

 系统查看:

3.环境变量--path变量

特性用户变量系统变量
​作用范围​仅当前用户所有用户
​优先级​高(覆盖同名系统变量)
​修改权限​普通用户可修改需管理员权限
​典型示例​USERPROFILE, 自定义工具路径PATHSystemRoot
​PATH处理​优先搜索合并后次优搜索

环境变量!=PATH变量,PATH变量只是环境变量的一部分.

PATH 是一个特殊的环境变量,在操作系统中起着重要的作用,尤其是在命令行中。它指定了操作系统在哪些目录中搜索可执行文件。在 Windows、Linux 和 macOS 等操作系统中,PATH 都有类似的概念。

具体来说,PATH 变量包含一系列目录路径,这些路径用分号(在 Windows 中)或冒号(在 Linux 和 macOS 中)分隔。当你在命令行中输入一个命令时,操作系统会在 PATH 中的这些目录中搜索可执行文件,并在找到匹配的文件时执行它。

这也就是为什么cmd操作可以直接定位到有些命令的原因。

原本需要输入

start "E:\Program Files\Tencent\QQLive\QQLive.exe"

加入环境变量path:

直接输入名称:

4.环境变量--原理

PATH这一环境变量的本质就是添加一个文件夹路径,在cmd中可以直接书写对应文件名,系统搜寻PATH下记录的文件夹中是否有该文件,并打开,这样就不用写绝对路径了。

  • 用户变量中的 PATH 优先级: 如果在用户变量和系统变量中都定义了 PATH,系统将使用用户变量中的 PATH。用户变量的优先级更高。
  • 系统变量中的 PATH 优先级: 如果用户变量中没有定义 PATH,系统将使用系统变量中的 PATH

5. 环境变量--新建

  • 目的: 新建环境变量通常是为了存储特定的配置信息,而不一定是用于寻找可执行文件。
  • 效果: 新建的环境变量存储的是一个,而不是一个路径列表。这个值可以是任何你需要在系统或应用程序中使用的配置信息,不仅限于可执行文件的路径。

 新建环境变量和PATH变量的区别:

  • 定义:
    • PATH变量是一种特殊的环境变量,它指定了操作系统在哪些目录中搜索可执行文件
    • 新建环境变量通常是为了存储特定的配置信息,而不一定是用于寻找可执行文件。

 有存储一个12的,也有存储路径的
再比如,阿里云的密钥就要求存储在环境变量中,再通过代码调用

​特性​​用户变量​​系统变量​
​作用范围​仅对当前登录用户生效对所有用户生效(全局)
​优先级​高于同名系统变量(冲突时覆盖)低于同名用户变量
​修改权限​普通用户可直接修改需管理员权限
​存储位置​注册表 HKEY_CURRENT_USER\Environment注册表 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
​典型用途​用户个性化配置(如自定义Python路径)全局配置(如系统PATHJAVA_HOME
​PATH变量处理​路径优先被搜索路径次优搜索(与用户PATH合并)

系统变量设置完成后要重启电脑才生效,用户变量是可以马上生效。如果你编程下载了一个新软件最好要重启电脑,否则排查半天发现是系统变量上的小问题(没错就是我下载cuda没重启debug了半天😭😭😭)

环境变量重点是在变量上,类似于Java中变量,他是全局变量,方便使用。假如一些路径或者配置信息记不住就可以使用变量来存储,直接调用变量就可。(有点类似于Java中的properties 配置文件)

http://www.xdnf.cn/news/9678.html

相关文章:

  • 双路物理CPU机器上安装Ubuntu并部署KVM以实现系统多开
  • k8s上运行的mysql、mariadb数据库的备份记录
  • 低代码——表单生成器Form Generator详解(二)——从JSON配置项到动态渲染表单渲染
  • vscode调试stm32,Cortex Debug的配置文件lanuch.json如何写,日志
  • 《P2324 [SCOI2005] 骑士精神》
  • uniapp开发企业微信小程序时 wx.qy.login 在uniapp中使用的时候,需要导包吗?
  • TCP连接关闭过程的技术解析:从四次挥手到资源释放
  • 变频器从入门到精通
  • 【达梦数据库】临时表空间不足
  • MySQL 查询语句的执行顺序
  • 【Rust模式与匹配】Rust模式与匹配深入探索与应用实战
  • 变更数据捕获(CDC)与流处理引擎实现医疗数据实时同步(下)
  • 【C语言】函数指针及其应用
  • Python基础 | jupyter工具的安装与基本使用
  • AI 眼镜新纪元:贴片式TF卡与 SOC 芯片的黄金组合破局智能穿戴
  • 油猴脚本开发基础
  • 苹果公司计划按年份来重命名重大的软件,将升级iOS 18软件至iOS 26
  • Apache Kafka 实现原理深度解析:生产、存储与消费全流程
  • 如何将 WSL 的 Ubuntu-24.04 迁移到其他电脑
  • 【C语言极简自学笔记】项目开发——扫雷游戏
  • 【AI论文】论文转海报:迈向从科学论文到多模态海报的自动化生成
  • 【计算机网络】第2章:应用层—应用层协议原理
  • 记录一个难崩的bug
  • leetcode701.二叉搜索树中的插入操作:迭代法利用有序性寻找空节点插入点
  • 【评测】DuReader-Retrieval数据集之初体验
  • C++并集查找
  • 关于scrapy在pycharm中run可以运行,但是debug不行的问题
  • 联想小新pro 14 重新安装系统提示acpi-bios-error错误的解决方法
  • VSCode远程开发-本地SSH隧道保存即时修改
  • 三轴云台之抗扰动技术篇