【Linux 基础】Linux 环境变量相关操作
环境变量分类:
系统层看变量分:系统环境变量、用户环境变量;
生命周期变量分:临时环境变量、永久环境变量;
与环境变量相关 shell 命令
- 显示环境变量:env;printenv ;
- 显示单个环境变量:echo $CC
- 增加某个环境变量:export;
修改环境变量(临时或永久)
1.临时添加
例如更改CC, 可输入 Shell 命令:export CC=gcc
2.永久添加
有两种方法可以在linux上永久添加环境变量,一种是在当前使用者的登录文件中添加环境变量,另一种是在系统文件etc/profile中添加环境变量。
第一种方法:~/.bash_profile
或者 ~/.bashrc
当中添加(用户环境变量)
首先打开终端窗口,输入 vi ~/.bash_profile
, 然后在其中输入:export PATH=/usr/bin:$PATH
,其中/usr/bin是上步获得的环境变量,修改完成后输入:wq 保存并退出。
第二种方法:/etc/profile
当中添加(系统环境变量)
在终端输入sudo vi /etc/profile
进入profile,然后在PATH一项之后输入:export PATH=/usr/bin:$PATH
,保存并退出,
也可以写成
export PATH="$PATH:/usr/bin"
其中 “
$
” 符号为直接调取当前环境变量的值,“
:
” 符号表示追加新的路径
使用source /etc/profile
更新文件,此时环境变量就添加到了/etc/profile中。
最后,在终端中输入:echo $PATH
,可以看到添加环境变量的路径已添加进去,就完成了添加环境变量path的步骤。
扩展:/etc/profile 是什么?
/etc/profile是一个全局的shell配置文件,用于设置系统中所有用户的环境变量和初始配置。当用户登录时,系统会首先读取和执行该文件。
/etc/profile文件的最后一部分通常会检查用户的个人配置文件,并加载其中的配置。代码段会检查用户的个人配置文件(~/.bash_profile、~/.bash_login和~/.profile),并加载其中的配置:
这样,用户可以在自己的个人配置文件中添加自定义的环境变量、别名、函数等。 需要注意的是,/etc/profile文件是一个系统级别的配置文件,只有root用户或具有sudo权限的用户才能编辑该文件。修改/etc/profile文件后,要重新登录或重新加载shell配置才能使更改生效。
请注意,在某些Linux发行版中,可能会使用其他文件来替代或补充/etc/profile文件的功能,例如/etc/bash.bashrc、/etc/environment等。因此,在具体的系统中,您可能还需要检查其他文件以完全了解系统的配置和环境变量设置。
扩展: .bash_profile 和 .bash_rc 又是什么?
在每个用户的home目录下,我们使用ls -a命令,就会看到以bash开始开头的四个隐藏文件。.bash_profile、.bashrc,.bash_logout和.bash_history。
那么这4个文件有什么作用呢?
- .bash_profile:当你登入 shell 时执行的命令。一般会在 .bash_profile 文件中显式调用.bashrc,启动 bash 时首先会去读取 .profile 文件,这样 .bashrc 也就得到执行了,你的个性化设置也就生效了。
- .bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取,其中rc是“run configure”的简写。
- .bash_history:记录之前输入的命令。
- .bash_logout:当你退出 shell 时执行的命令。
再扩展:Linux中的配置文件在哪里?
①、系统默认配置文件目录
/etc目录是Linux系统中存放配置文件的主要目录之一。它是"etcetera"的缩写,意为"等等"或"其他",表示这个目录中包含了各种各样的配置文件。
在/etc目录下,可以找到许多重要的配置文件,例如:
1. /etc/passwd:存储用户账户信息,包括用户名、用户ID、用户所属组等。
2. /etc/group:存储用户组信息,包括组名、组ID和组成员。
3. /etc/hosts:用于配置主机名与IP地址的映射关系,常用于本地DNS解析。
4. /etc/resolv.conf:配置系统的DNS解析服务器。
5. /etc/fstab:定义系统的文件系统挂载点和选项。
6. /etc/ssh/sshd_config:SSH服务器的配置文件,用于设置SSH服务的行为和安全选项。
7. /etc/apt/sources.list:用于配置APT软件包管理器的软件源。
②、个人配置文件目录
除了系统级别配置文件,Linux也提供了个人级别的配置文件,这些配置文件存储在用户主目录下的隐藏文件里,以"."开头,例如~/.bashrc就是shell的配置文件。这些配置文件主要用于定义每个用户个人的环境变量,快捷键,以及个人化设置等。
~/.bashrc
~/.vimrc
~/.ssh/config
以.vimrc为例:
set autoindent " 开启自动缩进
set smartindent " 开启智能缩进
set expandtab " 将Tab键自动转换为空格
set shiftwidth=4 " 设置缩进宽度为4
③、应用程序级别的配置文件目录
许多应用程序也需要配置文件来控制它们的行为,这些配置文件一般存放在在/usr/local、/opt等目录或者应用程序的安装目录中。
/usr/local/mysql/my.cnf
/opt/<应用程序>/config.ini
这些配置文件与系统级别的配置文件不同,它们只适用于特定的应用程序,因为每个应用程序都需要自己的配置文件,以便满足它们特定的需求。另外,这些配置文件是可以写入的,允许用户进行自定义修改。
总而言之,Linux配置文件的放置位置与其层次结构有关。不同级别的配置文件被存储在不同的位置以实现互不干涉、互不混淆的目的。了解了这些基本概念,有助于我们更好地配置和管理Linux操作系统。
环境变量应用
1. 添加 PATH 环境变量,设置交叉编译器时需要。
2. 设置 CC 环境变量,可以免去打编译器名字的麻烦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具