插件窝 干货文章 linux环境变量保存在哪个文件夹

linux环境变量保存在哪个文件夹

变量 环境 生效 登录 721    来源:    2025-04-15

在 Linux 系统中,环境变量的配置通常保存在以下几个关键文件夹或文件中,具体作用如下:


1. 用户级环境变量

  • ~/.bashrc
    当前用户的 Bash 环境变量和别名(仅对当前用户生效)。
    生效方式:重新打开终端或执行 source ~/.bashrc

  • ~/.bash_profile~/.profile
    用户登录时加载的环境变量(适用于登录 Shell)。
    生效方式:重新登录或执行 source ~/.bash_profile

  • ~/.pam_environment(部分系统)
    用户级环境变量(通过 PAM 模块加载,适用于图形界面登录)。


2. 系统级环境变量

  • /etc/environment
    系统全局环境变量(对所有用户生效,格式为 KEY=value,不支持变量引用如 $PATH)。
    生效方式:需重启或重新登录。

  • /etc/profile
    系统级环境变量和启动程序(对所有用户生效,但仅针对登录 Shell)。
    生效方式:重新登录或执行 source /etc/profile

  • /etc/bash.bashrc(部分发行版)
    系统级的 Bash 配置(对所有用户的非登录 Shell 生效)。

  • /etc/profile.d/ 目录
    存放自定义脚本(如 my_vars.sh),系统启动时会自动加载该目录下的所有脚本。


3. 临时环境变量

  • 通过终端直接执行 export KEY=value,仅对当前 Shell 会话有效。

优先级总结

  1. 用户级配置(如 ~/.bashrc)覆盖系统级配置(如 /etc/environment)。
  2. 登录 Shell 加载顺序:
    /etc/profile/etc/profile.d/*~/.bash_profile~/.bashrc

如何检查当前环境变量?

# 查看所有环境变量
printenv

# 查看单个变量(如 PATH)
echo $PATH

注意事项

  • 修改后需通过 source 命令或重新登录使配置生效。
  • 不同 Shell(如 Zsh、Fish)可能使用其他配置文件(如 ~/.zshrc)。
  • 图形界面程序的环境变量可能需要通过 ~/.pam_environment 或桌面环境配置(如 ~/.config/environment.d/)设置。

根据需求选择合适的配置文件即可!