Linux常用环境变量PATH

news2024/10/6 5:55:28

Linux常用环境变量

      • 一、常用的默认的shell环境变量
      • 二、环境变量 PATH
      • 三、持久化修改环境变量
      • 四、常用的环境变量

一、常用的默认的shell环境变量

1、当我们在shell命令行属于一个命令,shell解释器去解释这个命令的时候,需要先找到这个命令.
找到命令有两种方式

  • 要么你告诉shell这个命令的具体位置。即使用绝对路径运行。

  • 要么放在shell 默认的存放命令的地方。即命令放在PATH环境变量的路径下面。

  • 好比我们要去读一篇文章,先找到这篇文章才能去读它,要么告诉明明白白告诉你在哪里。
    如果没告诉你,你就自己找,你可能就在书桌上找,再去书包里找,再去别的地方,但是一定在你平时放书的地方,不可能去你都不知道的地方去找 。而shell在去执行命令的时候,如果不是通过决定路径去执行,就只会去PATH这个变量的路径下去找这个执行命令的程序 。

二、环境变量 PATH

1、PATH 环境变量定义了用于进行命令和程序查找的目录。这个是我们常用的一个环境变量。
在这里插入图片描述

2、 PATH 中的目录使用冒号分隔,如果命令或者程序的位置没有包括在PATH 变量中,又不使用绝对路径的话,shell是没法找到的。如果shell找不到指定的命令或程序,
它会产生一个错误信息:

在这里插入图片描述

  • 我们只需引用原来的PATH 值,然后再给这个字符串添加新目录就行了,添加环境变量的方式如下
PATH=$PATH:/home/zmx    
  • 这样的话,搜索命令也会在/home/zmx这个文件下搜索了,你的程序放在这个位置可以被执行到了。
    3、 如果希望子shell也能找到你的程序的位置,一定要记得把修改后的PATH 环境变量导出。

# 假设你想添加 /my/new/path 到你的 PATH 变量  
export PATH=$PATH:/my/new/path      

4、 我们可以把当前路径加入环境变量的话,可以使用单点符,通过单点符号把当前目录 加入PATH 环境变量。

    PATH=$PATH:.
  • 这样我们在当前目录运行文件的时候,就可以直接调用了, 否则要使用bash 文件名或者 ./文件名 这种方式来运行

在这里插入图片描述

5、以上的对PATH 变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。优点就是我们不会搞乱了系统的变量,但缺点也很明显,就是每次打开新的shell界面,需要重新配置这个环境变量,最常用的是
$HOME/.bashrc这个文件 。在这个文件里添加自己想要的环境变量。

三、持久化修改环境变量

1、启动shell的几种方式
在你登入Linux系统启动一个bash shell时,默认情况下bash会在几个文件中查找命令。这些文件叫作启动文件 或环境文件 。bash检查的启动文件取决于你启动bash shell的方式。启动bash shell有3种方式:

  • 登录时作为默认登录shell
  • 作为非登录shell的交互式shell
  • 作为运行脚本的非交互shell
    我们不用过多关注这些,只需要知道,这三种方式,有着不同的启动方式,我们需要获取到每次启动会自动调用的shell文件,把我们需要的环境变量,写入到里面就行。最常用的就是上面说的 $HOME/.bashrc这个文件这个$ HOEM 就是 ~ 。
  • 我们下面只讨论第一种,默认登录shell

2、登录时作为默认登录shell
当你登录Linux系统时,bash shell会作为登录shell启动。登录shell会从5 个不同的启动文件里读取命令:

  • /etc/profile
  • $HOME/.bash_profile
  • $HOME/.bashrc
  • $HOME/.bash_login
  • $HOME/.profile

3、shell默认启动的重点文件

  • /etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。下图查看里面的内容

在这里插入图片描述

所以我们可以把想要执行的程序,或者环境变量写成文件,放在etc/profile.d目录下

在这里插入图片描述

其余4个文件 在$HOME目录下不一定都存在,如果存在,就按下面图的顺序,运行第一个被找打的文件,余下的都被忽略。

在这里插入图片描述

需要注意的是,这个执行顺序里面不涉及 .bashrc这个文件,因为这个文件通常通过其它几个文件运行。如下图:
在这里插入图片描述
在这里插入图片描述
可以看出找到的运行的.profile文件的内容,是运行.bashrc这个文件,所以我们常用的添加默认环境变量,就放在这个文件夹里。

四、常用的环境变量

在这里插入图片描述

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

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

相关文章

边缘混合计算智慧矿山视频智能综合管理方案:矿山安全生产智能转型升级之路

一、智慧矿山方案介绍 智慧矿山是以矿山数字化、信息化为前提和基础,通过物联网、人工智能等技术进行主动感知、自动分析、快速处理,实现安全矿山、高效矿山的矿山智能化建设。旭帆科技TSINGSEE青犀基于图像的前端计算、边缘计算技术,结合煤…

k8s学习--Kruise Rollouts 基本使用

文章目录 Kruise Rollouts简介什么是 Kruise Rollouts?核心功能 应用环境一、OpenKruise部署1.安装helm客户端工具2. 通过 helm 安装 二、Kruise Rollouts 安装2. kubectl plugin安装 三、Kruise Rollouts 基本使用(多批次发布)1. 使用Deployment部署应用2.准备Roll…

当前的网安行业绝对不是高薪行业

昨天,面试了一个刚毕业两年的同学小A。第一学历为某大专,第二学历为某省地区的本科院校。面试过程表现一般偏下,但动不动就要薪资15K 这个人,我当场就PASS了。主要原因是,并非是否定小A同学的能力,而是他…

Axure 教程 | 雅虎新闻焦点

主要内容 在雅虎首页,新闻焦点大图和焦点小图同步切换轮播,本课程我们来学习如何实现这个效果。 交互说明 1.页面载入后,切换当前屏幕显示的5张焦点图,小图标处以横线提示当前焦点图。 2.鼠标移入焦点大图,新闻标题显示…

打破数据分析壁垒:SPSS复习必备(九)

有序定性资料统计推断 1.分类 单向有序行列表 双向有序属性相同行列表 双向有序属性不同行列表 2.单向有序行列表 秩和检验 ① 两组单向有序分类资料 ②多组单向有序定性资料 步骤: 1.建立检验假设和确定检验水准 2.编秩 3.求秩和 4.确定检验统计量 5…

MAC 查看公钥私钥

电脑配置过公钥私钥,现在需要查看: 1、 查看本地是否存在SSH密钥 命令:ls -al ~/.ssh 如果在输出的文件列表中发现id_rsa和id_rsa.pub的存在,证明本地已经存在SSH密钥,请执行第3步 2、 生成SSH密钥 命令&#xff1…

【Java】已解决java.nio.channels.OverlappingFileLockException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.nio.channels.OverlappingFileLockException异常 在Java的NIO(New I/O)编程中,java.nio.channels.OverlappingFileLockException是一…

C#学习系列之DataGrid无故添加空行

C#学习系列之DataGrid无故添加空行 前言解决前解决后总结 前言 采用别人的轮子,想在基础上改界面,但是copy后,无论怎么样都会有空行,实在是绑定数据的输入没有任何赋值。 解决前 绑定的数据中输入三组数据,但是没有第…

AI在软件开发中的应用

AI在软件开发中的应用可以帮助开发人员更高效地编写和测试代码,并提高软件的质量和性能。它能够帮助加快软件的部署和维护过程,提供更好的开发体验。 编码辅助 帮助开发人员更快地编写代码。例如,AI可以识别代码中的语法错误,并提…

实训作业-人事资源管理系统

er图 模型图 DDL与DML DROP TABLE IF EXISTS departments; CREATE TABLE departments (department_id int(11) NOT NULL AUTO_INCREMENT COMMENT 部门ID,department_name varchar(100) NOT NULL COMMENT 部门名称,PRIMARY KEY (department_id),UNIQUE KEY department_name (de…

Spring Boot 集成 H2 数据库

1. 引言 Spring Boot 以其简洁的配置和快速开发能力,成为现代微服务架构的首选框架之一。而H2数据库作为一个轻量级的内存数据库,非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证。本文将手把手教你如何在Spring Boot项目中集成H2数据库&#…

《数字图像处理》实验报告六

一、实验任务与要求 比较采用不同的色彩空间对彩色图像处理的效果,处理包括: a)直方图均衡化 b)图像增强 二、实验报告 (一)RGB色彩空间的直方图均衡化 / 锐化处理 1、matlab 实现代码: %…

K8S集群进行分布式负载测试

使用K8S集群执行分布式负载测试 本教程介绍如何使用Kubernetes部署分布式负载测试框架,该框架使用分布式部署的locust 产生压测流量,对一个部署到 K8S集群的 Web 应用执行负载测试,该 Web 应用公开了 REST 格式的端点,以响应传入…

编译器优化禁用对计算浮点加法运算时间的影响

编译器优化是现代编译器的重要功能,旨在提升程序的执行效率和性能。然而,在某些特定的测试或精确计算场景中,我们需要禁用这些优化以确保所有计算按预期执行。下面研究在 Keil 编译器中禁用和启用优化对执行多次次浮点除法运算时间的影响。 …

docker搭建mongo分片集群

1、mongo分片集群 MongoDB分片集群是一种可扩展的数据库架构,用于处理大量数据和高并发访问。它将数据分成多个分片,并将这些分片分布在多个服务器上,从而实现数据的平衡存储和并行处理 。 通过使用MongoDB的分片集,可以实现数据…

mobaXterm上传文件进度一直为0%

在这里修改了senssion、重启都没有用 最后发现是文件存放的路径中不能有中文,改了之后就成功上传了

Pixea Plus for Mac:图像编辑的极致体验

Pixea Plus for Mac 是一款专为 Mac 用户设计的强大图像编辑软件。凭借其卓越的性能和丰富的功能,它为用户带来了前所未有的图像编辑体验。无论是专业的设计师,还是业余的摄影爱好者,Pixea Plus 都能满足您对于图像编辑的各种需求。 Pixea P…

Segment any Text:优质文本分割是高质量RAG的必由之路

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

权限 chmod

参考: Linux chmod 命令 | 菜鸟教程 (runoob.com) Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令 Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner Users)用户组&#xff08…

音频数据集1--LJSpeech单人语音

LJ Speech Dataset 版本号: 1.1 , 文件大小: 2.6GB 1.简介 1. 1 内容简介 LJS是一个语音数据集,包含 13,100 个音频片段,内容为Linda Johnson(欧美女性)朗读的 7 本书籍段落(非小说类)。每个片段都提供文本转录,片段长度从 1 到 10 秒不等&…