Linux常用环境变量

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

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

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

  • /etc/profile

  • $HOME/.bash_profile

  • $HOME/.bashrc

  • $HOME/.bash_login

  • $HOME/.profile

  • /etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。

四、常用的环境变量

在这里插入图片描述

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

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

相关文章

鸿蒙 HarmonyOS NEXT星河版APP应用开发—上篇

一、鸿蒙开发环境搭建 DevEco Studio安装 下载 访问官网:https://developer.huawei.com/consumer/cn/deveco-studio/选择操作系统版本后并注册登录华为账号既可下载安装包 安装 建议:软件和依赖安装目录不要使用中文字符软件安装包下载完成后&#xff0…

【Linux 基础】文件与目录管理

1. 文件和目录的基本概念 文件:是数据的集合,可以是文本、图像、视频等。 目录(也称为文件夹):是文件和子目录的集合,用于组织文件。 2. 目录和路径 绝对路径:从根目录(/&#x…

2021-03-29:加密与解密

前段时间导师分配的任务主要是看《加密与解密》这本书,“书本写的很详细,认真看会看懂的!” 是的啊,书本写的很详细,可是作为一个没基础的小白看起来还是挺吃力的,概念一个接一个的出现,虽然看…

Android应用--简、美音乐播放器添加电话监听

3. 控制音量 4. 获取专辑图片 5. 在线下载歌词 6. 在线搜索音乐 7. 在线下载音乐 8. 实现有趣功能–甩歌 9. 界面美化–实现专辑倒影 10.实现左右界面切换 11.实现在通知栏显示播放状态 12.实现音乐播放的桌面小控件 暂时想到这些功能,如果朋友们有什么建…

Day7 —— 大数据技术之Hive

Hive快速入门系列 Hive的概述什么是Hive?使用Hive的原因 Hive架构Hive安装Hive配置文件修改启动Hive以命令行方式启动(在$HIVE_HOME/bin目录下)以JDBC连接启动(beeline方式连接) Hive基本操作Hive数据库操作Hive表操作…

css 动画

transform的3D动画 3D形变函数会创建一个合成层来启用GPU硬件加速 translate transform: translateY(100px);transform: translateX(100px);transform: translateZ(100px);transform: translate3d(100px,100px,100px); // x,y,z的简写rotate deg弧度 transform: rotateX(-40…

C语言学习记录20240622

这次需要用 C 语言库 Allegro 写爆破彗星游戏。项目有一些描述如需要绘制飞船、彗星、子弹,需要响应按键实现飞船加速、减速、转向、开火,需要绘制弹道,需要实现彗星旋转、缩放,需要碰撞检测,需要显示计分。 这些用 w…

Redis—SortedSet数据类型及其常用命令详解

文章目录 一、Redis概述SortedSet类型1 ZADD:向有序集合添加成员2 ZREM:从有序集合中移除一个或多个成员3 ZSCORE : 获取sorted set中的指定元素的score值4 ZRANK:获取sorted set 中的指定元素的排名5 ZCARD:获取sorted set中的元…

赵丽颖纯白茉莉绽放温柔之美

赵丽颖纯白茉莉,绽放温柔之美在这个繁忙喧嚣的娱乐圈,赵丽颖以其独特的魅力,成为了无数人心中的白月光。近日,赵丽颖工作室发布了一组live图,她身着一袭温柔白裙,宛如一朵盛开的纯白茉莉花,美得…

kali linux安装中文输入法

kali linux安装中文输入法:先进入root权限 第1步:安装fctix sudo apt-get install fcitx第2步:安装fcitx-pinyin输入法 apt-get install fcitx-pinyin第3步:配置输入法 打开 Fcitx配置 应用,点击 ,去除勾…

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告,这个也是我少数最后没搞成功的项目。当时也有点客观原因,当时ST要退出机顶盒市场,所以一切的支持都停了,当时啃他家播放器几十万行的代码,而且几乎没有文档…

RIP动态路由配置

1、搭建网络 搭建拓扑、规划IP地址、划分网段、设置端口 2、配置交换机,路由器 三层交换机配置 Switch>enable Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname S3560S3560(config)#vlan 10 S3560(con…

【Excel经验】字符串处理方法

概览-公式汇总 序号公式功能公式公式示例公式说明1把多列内容拼接在一起,作为新的一列的内容CONCATENATE (text1,text2,…)CONCATENATE(A2,“#”,B2,“”,C2)用于根据多个列的内容拼成我们指定格式的内容,拼接的内容通常来源于原始数据,同时…

深度学习论文: Depth Anything V2

深度学习论文: Depth Anything V2 Depth Anything V2 PDF: https://arxiv.org/pdf/2406.09414v1 代码:https://depth-anything-v2.github.io/ PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks …

51单片机定时器中断配置

测试环境 单片机型号:STC8G1K08-38I-TSSOP20,其他型号请自行测试; IDE:Keil C51; 定时器配置及主要代码 以定时器T0为例,查看手册,有4种工作模式:模式0(16位自动重装载…

MSPM0G3507——GPIO例程讲解1——input_capture

函数: 参数: 返回值: 主函数代码: #include "ti_msp_dl_config.h"extern volatile uint32_t interruptVectors[];int main(void) {SYSCFG_DL_init(); //把所有的LED灯和按键初始化了一…

LangChain:如何高效管理 LLM 聊天历史记录?

LangChain 团队发布了一篇关于使用 Dragonfly DB 来有效管理 LangChain 应用程序聊天历史记录的教程。 该教程旨在解决用户在使用 LangChain 应用程序时普遍遇到的一个问题:如何高效地管理聊天历史记录。 LangChain 团队在推文中强调了 Dragonfly DB 在管理聊天历…

【vue3|第12期】Vue3的Props详解:组件通信

日期:2024年6月19日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xf…

【Redis】黑马点评短信登录

https://blog.csdn.net/qq_33888850/article/details/129770077 https://blog.csdn.net/weixin_51515308/article/details/128010464 https://www.bilibili.com/video/BV1cr4y1671t?p24 导入数据库 https://github.com/MagicToDo/hm-dianping sql文件在 hm-dianping-init\src…

计算机网络:运输层 - TCP首部格式 连接的创建与释放

计算机网络:运输层 - TCP首部格式 & 连接的创建与释放 TCP首部格式源端口 目的端口序号确认号数据偏移保留控制位窗口检验和紧急指针 TCP连接创建 - 三次握手TCP传输过程TCP连接释放 - 四次挥手 TCP首部格式 TCP的首部如下: 首部的前20 byte是固定的…