Ubuntu/linux系统环境变量配置详解

一 环境变量配置文件解释

  • /etc/profile

    在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

  • /etc /environment

    在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。

  • ~/.profile

    在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

  • /etc/bashrc

    为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

  • ~/.bashrc

    该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

  • ~/.bash_profile
    每个用户都可使用该文件输入专用于自己 使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bash_profile 是交互式、login 方式进入 bash 运行的;~/.bashrc是交互式 non-login 方式进入 bash 运行的。通常二者设置大致相同,所以通常前者会调用后者。

  • ~./bash_login
    不推荐使用这个,这些不会影响图形界面。而且.bash_profile优先级比bash_login高。当它们存在时,登录shell启动时会读取它们。

  • ~/.bash_logout
    当每次退出系统(退出bash shell)时,执行该文件.

  • ~/.pam_environment
    用户级的环境变量设置文件。

    另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

二 查看环境变量

查看环境变量有三个命令

  • env
    env命令是environment的缩写,用于列出所有的环境变量,查看Ubuntu用户级环境变量
    printenv查看系统级环境变量
  • export
    单独使用export命令也可以像env列出所有的环境变量,不过export命令还有其他额外的功能
  • echo $PATH
    echo $PATH用于列出变量PATH的值,里面包含了已添加的目录

三 设置方式

设置环境变量通常有两种设置方式

3.1 把你的路径加入PATH

可以直接添加到环境变量PATH中。$PATH表示变量PATH的值,包含已有的目录
这种方法需要注意路径的顺序,如果遇到有同名的命令,那么PATH里面哪个目录先被查询,则那个目录下的命令就会被先执行

# 加到PATH末尾
export PATH=$PATH:/path/to/your/dir# 加到PATH开头
export PATH=/path/to/your/dir:$PATH

3.2 命名一个新的环境变量

也可以直接命名一个新的环境变量,用于其它程序引用

export VAR_NAME=value

四 作用域

环境变量的作用域通常有三个

4.1 用于当前终端

打开一个终端,输入添加环境变量的语句

export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

终端所添加的环境变量是临时的,只适用于当前终端,关闭当前终端或在另一个终端中,添加的环境变量无效

4.2 用于当前用户

如果只需要添加的环境变量对当前用户有效,可以写入用户主目录下的.bashrc文件

vim ~/.bashrc

添加语句

export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

注销或者重启可以使修改生效,如果要使添加的环境变量马上生效

source ~/.bashrc
4.3 用于所有用户

要使环境变量对所有用户有效,可以修改profile文件

sudo vim /etc/profile 

添加语句

export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

注销或者重启可以使修改生效,如果要使添加的环境变量马上生效

source /etc/profile
4.4 从文件中导入环境变量
# 在Ubuntu系统中,可以将环境变量定义存储在单独的文件中,然后从该文件中导入环境变量。可以使用如下命令:
source /path/to/your/env/file# 例如,以下命令将从/home/user/env.sh文件中导入所有定义的环境变量:
source /home/user/env.sh

在Ubuntu中,还可以将别名和函数定义保存在环境变量文件中,并从该文件中加载它们。

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

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

相关文章

springboot之一:配置文件(内外部配置优先顺序+properties、xml、yaml基础语法+profile动态切换配置、激活方式)

配置的概念: Spring Boot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。 注意配置文件的命名必须是applicat…

【LeetCode每日一题合集】2023.8.28-2023.9.3(到家的最少跳跃次数)

文章目录 57. 插入区间823. 带因子的二叉树解法——递推 1654. 到家的最少跳跃次数(BFS,🚹最远距离上界的证明)1761. 一个图中连通三元组的最小度数2240. 买钢笔和铅笔的方案数解法1——完全背包解法2——枚举买了几支钢笔(推荐解法&#xff…

【ts】Partial<T>

Partial是ts中的一个内置类型&#xff0c;它用于定义对象类型的部分属性&#xff0c;当使用Partial<T>来定义一个类型T的部分类型时&#xff0c;它会将T中的属性变为可选属性&#xff08;即既可以有值又可以没值&#xff09;&#xff0c;这样就可以只提供T的一部分属性&a…

一分钟教你学会浏览器调试工具debugger

当使用谷歌浏览器或者vscode进行前端调试时&#xff0c;可以使用以下方法进行详细调试&#xff1a; 谷歌浏览器&#xff1a; 打开谷歌浏览器&#xff0c;并在地址栏中输入要调试的页面的 URL 地址。 按下 Ctrl Shift I&#xff08;Windows/Linux&#xff09;或 Command Opt…

LGFormer:LOCAL TO GLOBAL TRANSFORMER FOR VIDEO BASED 3D HUMAN POSE ESTIMATION

基于视频的三维人体姿态估计的局部到全局Transformer 作者&#xff1a;马海峰 *&#xff0c;陆克 * †&#xff0c;薛健 *&#xff0c;牛泽海 *&#xff0c;高鹏程† * 中国科学院大学工程学院&#xff0c;北京100049 鹏程实验室&#xff0c;深圳518055 来源&#xff1a;202…

C++二级题目6

数字放大 #include<iostream> #include<string.h> #include<stdio.h> #include<iomanip> #include<cmath> #include<bits/stdc.h> int a[2000][2000]; int b[2000]; char c[2000]; long long n; using namespace std; int main() {int x;…

这可能是最全面的Python入门手册了!

无论是学习任何一门语言&#xff0c;基础知识一定要扎实&#xff0c;基础功非常的重要&#xff0c;找到一个合适的学习方法和资料会让你少走很多弯路&#xff0c; 你的进步速度也会快很多&#xff0c;无论我们学习的目的是什么&#xff0c;不得不说Python真的是一门值得付出时间…

代码泄漏无感知?代码安全审计构筑企业核心资产安全防线

目录 一个不眠之夜 源代码托管&#xff1a;最容易被从内部攻破的堡垒 审计事件&#xff0c;构建源代码安全防护的“最后一道防线” 源代码托管审计事件三要素 源代码托管审计事件的价值 极狐GitLab 审计事件功能 极狐GitLab 审计事件功能特点 极狐GitLab 审计事件功能使…

Support for password authentication was removed on August 13, 2021 解决方案

打开你的github&#xff0c;Setting 点击Developer settings。 点击generate new token 按照需要选择scope 生成token&#xff0c;以后复制下来。 给git设置token样式的remote url git remote set-url origin https://你的tokengithub.com/你的git用户名/仓库名称.git然后就可…

Docker 搭建Redis 集群之路

前言 搞技术就是动手&#xff0c;动手再动手&#xff0c;实践出真知&#xff0c;毕竟最终是要解决问题的呢&#xff0c;废话不多讲&#xff0c;开搞&#xff0c;主要是为了记录一下&#xff0c;毕竟过程还是有点艰辛呢需求&#xff08;target&#xff09; Windows 电脑 装一个…

python 笔记(1)——基础和常用部分

目录 1、print 输出不换行 2、格式化输出字符串 3、浮点数的处理 4、进制转换和ASCII与字符间的转换 5、随机数 6、字符串截取和内置方法 6-1&#xff09;字符串截取 6-2&#xff09;字符串内置方法 7、元组、列表&#xff0c;及其遍历方式 7-1&#xff09;列表常用内…

为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)

在 Blog 一文中&#xff0c;5G--BBU RRU 如何演化到 CU DU&#xff1f;_5g rru_qq_38480311的博客-CSDN博客 解释了4G的RRU BBU 以及 5G CU DU AAU&#xff0c;主要是讲了它们分别是什么。但是没有讲清楚 为什么&#xff0c;此篇主要回答why。 4G 为什么分离基站为 RRU 和 BBU…

大数据HBASE的详细使用

摘要&#xff1a;本文将深入探讨大数据HBASE的使用步骤&#xff0c;帮助读者了解和掌握这一强大的分布式数据库系统的基本概念和操作技巧。通过本文的阅读&#xff0c;读者将能够熟悉HBASE的基本设置&#xff0c;了解其核心概念&#xff0c;掌握基本的查询和管理操作&#xff0…

gin分片上传文件

为什么要使用分片上传 这个为什么已经是老篇常谈了&#xff0c;主要的原因无非就是文件比较大,一次性上传如果网络中断等情况客户端又得重新上传,而且没法补充上传。 切片上传流程 客户端: 有一个大文件&#xff0c;对这个文件进行切片&#xff0c;依据实际业务进行拆分&…

Windows下搜索文件内容的关键字用什么命令

Windows下搜索文件内容的关键字用什么命令 findstr /s /n /i "keyword" file_path其中&#xff0c;/s 表示递归检索子文件夹&#xff0c;/n 表示显示搜索结果所在行号&#xff0c;/i 表示忽略大小写&#xff0c;“keyword” 是要搜索的关键字&#xff0c;file_path 是…

【LeetCode-中等题】17. 电话号码的字母组合

文章目录 题目方法一&#xff1a;递归回溯 题目 方法一&#xff1a;递归回溯 参考讲解&#xff1a;还得用回溯算法&#xff01;| LeetCode&#xff1a;17.电话号码的字母组合 首先可以画出树图&#xff1a; 先将数字对应的字符集合 加入到一个map集合 这里需要一个index来控…

MySQL为什么不推荐使用in

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 当使用IN语句时&#xff0c;MySQL可能会遇到以下问题&#xff1a; 索引问题&#xff1a;MySQL使用索引来加速查询&#x…

PPT怎么转换为PDF格式,收藏这两个在线工具。

PPT是一种常用的演示文稿格式&#xff0c;它可以包含丰富的动画效果和超链接&#xff0c;让你的内容更加生动和有趣。但是&#xff0c;如果你想将PPT分享给别人&#xff0c;或者在不同的设备上查看&#xff0c;你可能会遇到一些问题&#xff0c;比如&#xff1a; PPT文件太大&a…

使用Python实现二维应力云图

要画应力分布云图&#xff0c;可以使用Python中的科学计算和可视化库来实现 import numpy as np import matplotlib.pyplot as plt# 生成示例数据 x np.linspace(0, 10, 100) # X轴数据范围 y np.linspace(0, 5, 50) # Y轴数据范围 X, Y np.meshgrid(x, y) # 生成网…

Linux命令行

目录 CLI GUI 命令行界面 图形界面 命令行提示符 # $ ​编辑 命令一般由三个部分组成 历史命令&#xff0c;使用上下键&#xff0c;或者使用history&#xff0c;ctrlr搜索历史命令 通配符 *,? 切换用户 su 作业管理 &&#xff0c;jobs,bg,fg CLI GUI 命令行界面 …