【Ubuntu·系统·的Linux环境变量配置方法最全】

文章目录

概要

在Linux环境中,配置环境变量是一种常见的操作,用于指定系统或用户环境中可执行程序的搜索路径。

读取环境变量的方法

在Linux中,可以使用以下两个命令来读取环境变量:

复制代码
export 命令:用于显示当前系统定义的所有环境变量。
bash 复制代码
export

echo $PATH 命令:用于输出当前的 PATH 环境变量的值。

bash 复制代码
echo $PATH

这两个命令可以帮助你了解当前系统中定义的环境变量及其取值。

下面以配置 MySQL 为例子

Linux环境变量配置方法一:export PATH

使用 export 命令直接修改 PATH 的值,配置 MySQL 进入环境变量的方法:

bash 复制代码
export PATH=/home/uusama/mysql/bin:$PATH
# 或者把PATH放在前面
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:立即生效
生效期限:当前终端有效,窗口关闭后无效
生效范围:仅对当前用户有效
配置的环境变量中不要忘了加上原来的配置,即 $PATH 部分,避免覆盖原来配置

Linux环境变量配置方法二:vim ~/.bashrc

通过修改用户目录下的 ~/.bashrc 文件进行配置:

bash 复制代码
vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效
生效期限:永久有效
生效范围:仅对当前用户有效
如果有后续的环境变量加载文件覆盖了 PATH 定义,则可能不生效

Linux环境变量配置方法三:vim ~/.bash_profile

类似于修改 ~/.bashrc 文件,也是在文件最后加上新的路径:

bash 复制代码
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bash_profile 生效
生效期限:永久有效
生效范围:仅对当前用户有效
如果没有 ~/.bash_profile 文件,则可以编辑 ~/.profile 文件或者新建一个

Linux环境变量配置方法四:vim /etc/bashrc

修改系统配置,需要管理员权限(如 root)或者对该文件的写入权限:

bash 复制代码
# 如果 /etc/bashrc 文件不可编辑,需要修改为可编辑
sudo chmod u+w /etc/bashrc

sudo vim /etc/bashrc

# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:新开终端生效,或者手动 source /etc/bashrc 生效
生效期限:永久有效
生效范围:对所有用户有效

Linux环境变量配置方法五:vim /etc/profile

类似于修改 /etc/bashrc 文件,需要管理员权限或者对该文件的写入权限:

bash 复制代码
# 如果 /etc/profile 文件不可编辑,需要修改为可编辑
sudo chmod u+w /etc/profile
sudo vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:新开终端生效,或者手动 source /etc/profile 生效
生效期限:永久有效
生效范围:对所有用户有效

Linux环境变量配置方法六:vim /etc/environment

修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:

bash 复制代码
# 如果 /etc/environment 文件不可编辑,需要修改为可编辑
sudo chmod u+w /etc/environment

sudo vim /etc/environment

# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

复制代码
生效时间:新开终端生效,或者手动 source /etc/environment 生效
生效期限:永久有效
生效范围:对所有用户有效

Linux环境变量加载原理解析:

在Linux系统中,环境变量的加载顺序影响着配置的优先级和生效顺序。以下是加载环境变量的主要原理:

系统环境变量分类:

系统级别: 例如 /etc/environment、/etc/profile、/etc/bash.bashrc。

用户级别: 例如 /.bash_profile、/.profile、~/.bashrc。

加载顺序测试方法:

在不同的环境变量定义文件中,首行添加相同的变量(例如 UU_ORDER)并赋值为当前文件名称。

观察通过 echo $UU_ORDER 查看变量值的变化,以推测加载顺序。

推测的Linux环境变量加载顺序:

/etc/environment

/etc/profile

/etc/bash.bashrc

/etc/profile.d/test.sh

~/.profile

~/.bashrc

系统会首先读取 /etc/environment 文件,然后按照上述顺序依次加载其他环境变量文件。在用户环境变量中,系统会先读取 ~/.bash_profile(或者 ~/.profile)文件,如果没有该文件,则读取 ~/.bash_login,然后根据这些文件中的内容再去读取 ~/.bashrc。

这种加载顺序可以导致相同名称的环境变量定义被覆盖或者不生效。

文件加载详解:

/etc/profile 文件中加载 /etc/bash.bashrc 和 /etc/profile.d/ 目录下的 .sh 文件。

bash 复制代码
if [ -f /etc/bash.bashrc ]; then
  . /etc/bash.bashrc
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r i ]; then
      .i
    fi
  done
  unset i
fi
复制代码
~/.profile 文件中加载 ~/.bashrc。
bash 复制代码
if [ -n "BASH_VERSION" ]; then
  if [ -f "HOME/.bashrc" ]; then
    . "HOME/.bashrc"
  fi
fi

小技巧

自定义一个环境变量文件,例如 uusama.profile,并在 ~/.profile 后添加 source uusama.profile,实现自定义变量的全局可用性。

使用 alias 命令定义命令别名,例如 alias rm="rm -i",并将其加入 ~/.profile,方便命令的快捷使用。

相关推荐
A小辣椒4 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒7 小时前
TShark:基础知识
linux
AlfredZhao10 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式