Linux常用环境变量PATH

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.mfbz.cn/a/736365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

支付系统的渠道路由架构设计

图解支付系统的渠道路由设计 渠道路由是引导流量路径的关键,其设计至关重要。本文详解渠道路由概念、必要性及形态,并分享一个高效实用的基于规则的渠道路由设计方案。 注:有些公司称渠道为通道,都是一个意思,为方便起…

Monica

在 《long long ago》中,我论述了on是一个刚出生的孩子的脐带连接在其肚子g上的形象,脐带就是long的字母l和字母n,l表脐带很长,n表脐带曲转冗余和连接之性,on表一,是孩子刚诞生的意思,o是身体&a…

代码-功能-python-爬取博客网标题作者发布时间

环境: python 3.8 代码: # 爬取博客园内容 # https://www.cnblogs.com/import re from lxml import etree import requests import json import threading from queue import Queue import pymysql import timeclass HeiMa:def __init__(self):# 请…

36.远程注入到入口点注入

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 上一…

压力测试Monkey命令参数和报告分析

目录 常用参数 -p <测试的包名列表> -v 显示日志详细程度 -s 伪随机数生成器的种子值 --throttle < 毫秒> --ignore-crashes 忽略崩溃 --ignore-timeouts 忽略超时 --monitor-native-crashes 监视本地崩溃代码 --ignore-security-exceptions 忽略安全异常 …

Git 中 pull 操作和 rebase 操作的不同

由于在开发过程中&#xff0c;pull 操作和 rebase 操作都是用来合并分支的&#xff0c;所以我就常常分不清这两个操作具体有什么区别&#xff0c;所以才有了这篇博客来做个简单区分&#xff0c;具体细致差别还请移步到官方文档&#xff1a;Git - Reference (git-scm.com) 1&am…

【Python机器学习】k均值聚类——k均值的失败案例

k均值可能不总能找到“正确”的簇个数&#xff0c;每个簇仅由其中心定义&#xff0c;这意味着每个簇都是凸形。因此&#xff0c;k均值只能找到相对简单的形状。k均值还假设所有簇在某种程度上具有相同的“直径”&#xff0c;它总是将簇之间的边界刚好画在簇中心的之间位置。有时…

神经网络与深度学习 - 神经网络基础

1.2 神经网络基础 学习目标 知道逻辑回归的算法计算输出、损失函数知道导数的计算图知道逻辑回归的梯度下降算法知道多样本的向量计算 应用 应用完成向量化运算应用完成一个单神经元神经网络的结构 1.2.1 Logistic回归 逻辑回归是一个主要用于二分分类的算法。给定一个特…

帝国cms批量取消文章审核-把已审核的文章改成未审核的方法

帝国cms很多人采集的时候&#xff0c;把文章弄成了审核过的文章&#xff0c;或者因为其他的原因&#xff0c;文章都是审核通过&#xff0c;为了seo又不能把全部文章放出来&#xff0c;所以需要把文章弄成未审核以下就是解决本问题的办法 首先来修改后台列表文件&#xff0c;自…

DVWA-XSS(Stored)-httponly分析

拿DVWA的XSS为例子 httponly是微软对cookie做的扩展。这个主要是解决用户的cookie可能被盗用的问题。 接DVWA的分析&#xff0c;发现其实Impossible的cookie都是设置的httponly1&#xff0c;samesite1. 这两个参数的意思参考Set-Cookie HttpOnly:阻止 JavaScript 通过 Documen…

32.768k晶振FC-135R在智能手表手环中的作用

随着智能设备的普及&#xff0c;智能手表和手环已经成为人们日常生活中不可或缺的科技产品。晶振在智能手表手环中的作用是通过传感器给智能手环连接提供信号频率&#xff0c;是很重要的核心部位&#xff0c;这些设备的核心在于其精准的时钟管理和低功耗特性&#xff0c;32.768…

k8s部署grafana beyla实现app应用服务依赖图可观测

k8s部署grafana beyla OS: Static hostname: test Icon name: computer-vm Chassis: vm Machine ID: 22349ac6f9ba406293d0541bcba7c05d Boot ID: 83bb7e5dbf27453c94ff9f1fe88d5f02 Virtualization: vmware Operating System: Ubuntu 22.04.4 LTS Kernel: Linux 5.15.0-105-g…

多物理场仿真对新能源汽车用电机优化分析 衡祖仿真

1、问题所在 为了改善空气质量&#xff0c;减少环境污染&#xff0c;减少对石油的依赖&#xff0c;降低能源安全风险&#xff0c;国家大力倡导发展新能源汽车&#xff0c;大量新能源车企应运而生&#xff0c;竞争日趋激烈。使用经济效率较高的电机对于增强企业市场竞争力非常重…

【Python】已解决:pymssql引发的MSSQLDatabaseException错误

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;pymssql引发的MSSQLDatabaseException错误 一、分析问题背景 在Python中使用pymssql库与Microsoft SQL Server数据库交互时&#xff0c;有时会遇到pymssql._mss…

EndNote 21 for Mac v21.3 文献管理软件安装

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行安装EndNote212、升级 三、运行1、打开软件&#xff0c;测试 安装完成&#xff01;&#xff01;&#xff01; 效果 一、下载软件 下载软件 链接&#xff1a;http://www.macfxb.cn 二、开始安装 1、双击运行安装End…

【STM32c8t6】AHT20温湿度采集

【STM32c8t6】AHT20温湿度采集 一、探究目的二、探究原理2.1 I2C2.1. 硬件I2C2.1. 软件I2C 2.2 AHT20数据手册 三、实验过程3.1 CubeMX配置3.2 实物接线图3.3 完整代码3.4 效果展示 四、探究总结 一、探究目的 学习I2C总线通信协议&#xff0c;使用STM32F103完成基于I2C协议的A…

1.1 从图灵机到GPT,人工智能经历了什么?——《带你自学大语言模型》系列

《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a; 带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型 1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1f;1.2 如何让…

计算机网络知识点整理1

目录 激励的话 一、计算机发展的三个阶段 二、互联网标准化工作 三、互联网的组成 边缘部分 核心部分 电路交换的主要特点 分组交换的主要特点 四、三大交换方式的主要特点 总结 激励的话 没关系的&#xff0c;有三分钟热度&#xff0c;就有三分钟收获 一、计算机…

Day8 —— 大数据技术之HBase

HBase快速入门系列 HBase的概述什么是HBase&#xff1f;主要特点和功能包括使用场景 HBase的架构HBase部署与启动HBase基本操作前提条件数据库操作表操作数据的CRUD操作 HBase的不足 HBase的概述 什么是HBase&#xff1f; HBase 是一个开源的、分布式的、面向列的 NoSQL 数据…

项目-博客驿站测试报告

测试用例设计 功能测试 该部分主要围绕对于博客系统的增删改查, 文章通过性审核, 关注功能等进行测试, 还进行了其它一些探索性的测试. 以上是作者设计的全部用例. BUG发现: 问题1: 当多端同时操作同一篇文章BUG 环境: Windows11, Edge和Chrome浏览器 复现步骤: 1.先使用Edg…