从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 时执行的文件。可以在此文件中设置一些退出时需要执行的清理任务。

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

相关推荐
QC班长3 小时前
Maven公司私库配置踩坑点
java·服务器·maven·intellij-idea
DeepModel4 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
AC赳赳老秦4 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
mounter6255 小时前
【内核新动向】告别物理槽位束缚:深度解析 Linux Virtual Swap Space 机制
linux·内存管理·kernel·swap·virtual swap
handler015 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
安小牛5 小时前
Android 开发汉字转带声调的拼音
android·java·学习·android studio
2023自学中6 小时前
i.MX6ULL 板子的完整启动流程图(从上电 → 用户空间)
linux·嵌入式
闫利朋6 小时前
Ubuntu 24.04 桌面安装向日葵完整指南
linux·运维·ubuntu
仙女修炼史7 小时前
CNN的捷径学习Shortcut Learning in Deep Neural Networks
人工智能·学习·cnn
mfxcyh7 小时前
使用MobaXterm配置nginx
java·服务器·nginx