从0开始学习Linux——环境变量详解

期目录:

从0开始学习Linux------简介&安装

从0开始学习Linux------搭建属于自己的Linux虚拟机

从0开始学习Linux------文本编辑器

从0开始学习Linux------Yum工具

从0开始学习Linux------远程连接工具

从0开始学习Linux------文件目录

从0开始学习Linux------网络配置

从0开始学习Linux------防火墙配置

从0开始学习Linux------系统服务管理

从0开始学习Linxu------系统常用命令

从0开始学习Linux------进程管理

从0开始学习Linux------用户管理

从0开始学习Linux------文件管理

从0开始学习Linux------Shell编程详解【01】

从0开始学习Linux------Shell编程详解【02】

从0开始学习Linux------Shell编程详解【03】

从0开始学习Linux------Shell编程详解【04】

从0开始学习Linux------定时任务

上期教程我们学习了定时任务,这期教程我们将学习环境变量。

一、环境变量

环境变量是操作系统中用于存储系统配置和程序设置的变量。环境变量可以在系统级别、用户级别或进程级别进行设置和使用,它们在用户登录、系统启动、进程执行等方面起着重要的作用。

1.1 基本概念

环境变量是存储一些关于操作系统和应用程序运行状态的键值对。这些键值对的作用是向程序传递信息,告诉它们在哪些目录查找文件、如何与其他程序交互等。

常见的环境变量包括:

  • PATH:指定可执行文件的搜索路径,决定了哪些目录中的程序可以在命令行中直接运行。
  • HOME:当前用户的主目录。
  • USER:当前用户的用户名。
  • SHELL:当前用户使用的Shell。
  • LANG:系统的语言和区域设置。
  • PWD:当前工作目录。

例如:

复制代码
export PATH=$PATH:/opt/myprogram/bin

环境变量主要分为两种类型:

  • 系统环境变量:影响整个系统及所有用户。
  • 用户环境变量:仅影响当前用户。

1.2 查看环境变量

我们可以使用printenv命令查看当前的环境变量。

当然我们也可以使用echo命令查看特定的环境变量。

1.3 临时设置环境变量

环境变量可以在命令行中临时设置,这些变量在当前终端会话期间有效,当终端关闭时会失效。

下面我们使用root账号重新开启一个会话。

我们可以看到在新会话中VARE_NAME这个临时环境变量不存在。

1.4 永久设置环境变量

为了使环境变量在系统重启或用户注销后依然有效,我们需要将它们添加到特定的配置文件中。

方式1:在/etc/profile中设置系统级环境变量

/etc/profile是一个系统级别的配置文件,用于为所有用户提供环境变量。我们可以将环境变量添加到该文件中,使其在所有用户登录时都生效。

首先我们需要打开/etc/profile文件。

复制代码
vim /etc/profile

在文件末尾我们可以添加上我们自己的环境变量。

编辑好环境变量文件保存退出以后需要重新加载环境变量以便其生效。

复制代码
source /etc/profile

方式2:在用户的.bash_profile中设置用户级环境变量

如果我们只想为当前用户设置环境变量,可以在用户的~/.bash_profile文件中进行设置。该文件是每个用户登录时执行的配置文件。

首先我们先使用文本编辑器打开~/.bash_profile文件并在末尾添加自己的环境变量。

复制代码
vi ~/.bash_profile

我们将~/.bash_profile文件编辑保存好退出来以后需要重新加载环境变量以使其生效。

方式3:在.bashrc中设置环境变量

.bashrc文件是用于设置 Bash shell 会话的配置文件,通常用于设置一些会话相关的变量。如果希望环境变量仅在交互式 shell 会话中有效,可以把它们添加到.bashrc中。

复制代码
vi ~/.bashrc

首先我们需要先使用文本编辑器打开.bashrc文件并在文件末尾添加自己的环境变量。

我们在编辑完.bashrc文件并保存退出以后,需要重新加载以使其生效。

复制代码
source ~/.bashrc

方式4:在/etc/environment中设置环境变量

/etc/environment文件用于设置系统范围的环境变量,适用于所有用户。该文件中一般不包含任何 shell 特定的语法,仅包含key=value格式的环境变量。

首先我们先使用文本编辑器打开/etc/environment文件,并在添加我们的环境变量。

复制代码
vi /etc/environment

配置好环境变量后,我们需要重新加载以使其生效。

复制代码
source /etc/environment

1.5 环境变量优先级

当多个文件中设置了同一个环境变量时,文件中的优先级从高到低为:

  • ~/.bashrc 或 ~/.bash_profile(用户级别)
  • /etc/profile (系统级别)
  • /etc/environment(系统范围)
  • 其他 shell 配置文件

1.6 其它相关文件

  • /etc/profile.d/:该目录包含多个脚本文件,它们在系统启动时会被读取。这些脚本通常用于为某个程序设置环境变量。例如,安装某个软件时,可能会在该目录下创建一个脚本文件来设置该程序的环境变量。

  • ~/.bash_logout:当用户退出 Bash shell 时执行的文件。可以在此文件中设置一些退出时需要执行的清理任务。

本节教程内容就暂时先到这里,更多内容将在后续教程中进行讲解。

相关推荐
rannn_1116 分钟前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
摘星编程16 分钟前
Docker容器定时任务时区Bug导致业务异常的环境变量配置解决方案
环境变量·定时任务·docker容器·时区配置·生产环境
麦兜*33 分钟前
【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
服务器·ios·swiftui·android studio·objective-c·ai编程·swift
路多辛40 分钟前
Debian新一代的APT软件源配置文件格式DEB822详解
linux·运维·ubuntu·debian
-VE-43 分钟前
Linux线程控制
linux
lingggggaaaa1 小时前
小迪安全v2023学习笔记(六十一讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全·反序列化
驱动探索者1 小时前
USB ADB 简介
linux·adb·驱动·usb
不太可爱的叶某人2 小时前
【学习笔记】Java并发编程的艺术——第6章 Java并发容器和框架
java·笔记·学习
dessler3 小时前
Hadoop HDFS-部署和基本操作
linux·运维·hdfs
风静雪冷3 小时前
find命令解读
linux