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里面哪个目录先被查询,则那个目录下的命令就会被先执行

powershell 复制代码
# 加到PATH末尾
export PATH=$PATH:/path/to/your/dir

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

3.2 命名一个新的环境变量

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

powershell 复制代码
export VAR_NAME=value

四 作用域

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

4.1 用于当前终端

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

powershell 复制代码
export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

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

4.2 用于当前用户

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

powershell 复制代码
vim ~/.bashrc

添加语句

powershell 复制代码
export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

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

powershell 复制代码
source ~/.bashrc
4.3 用于所有用户

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

powershell 复制代码
sudo vim /etc/profile 

添加语句

powershell 复制代码
export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

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

powershell 复制代码
source /etc/profile
4.4 从文件中导入环境变量
powershell 复制代码
# 在Ubuntu系统中,可以将环境变量定义存储在单独的文件中,然后从该文件中导入环境变量。可以使用如下命令:
source /path/to/your/env/file

# 例如,以下命令将从/home/user/env.sh文件中导入所有定义的环境变量:
source /home/user/env.sh

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

相关推荐
starvapour9 小时前
Ubuntu硬盘的创建分区、格式化与挂载
linux·ubuntu
Better Bench14 小时前
ThinkStation PGX Ubuntu aarch64架构上使用Docker 配置amd64架构镜像的深度学习环境并使用Vscode开发
ubuntu·docker·架构
weixin_4492900116 小时前
Ubuntu 系统上安装和配置 Go 语言运行环境
linux·ubuntu·golang
james bid17 小时前
MacBook Pro 2015 上 XUbuntu 24.04 启用 eGPU (GeForce GTX 1080 Ti) 和核显黑屏问题解决
linux·ubuntu·macos·cuda·egpu
龙吟游戏17 小时前
Ubuntu Server 25.10安装
linux·运维·ubuntu
zzxxlty17 小时前
windows 迁移ubuntu wsl从C盘到D盘
linux·运维·ubuntu
robator18 小时前
ubuntu 22.04 升级nvidia显卡驱动、cuda 和cudnn
linux·服务器·ubuntu
肖恭伟18 小时前
Pycharm历史community版本下载
linux·ubuntu·pycharm·下载·community
shandianchengzi19 小时前
【记录】ARM|Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战
linux·arm开发·ubuntu·arm·qemu
starvapour1 天前
Ubuntu下sudo的免密操作
linux·ubuntu