在 CentOS 中,“env 设置”通常指用户的环境变量(如 PATH、LANG、JAVA_HOME 等)。下面按常见场景说明如何备份和恢复这些设置。
env > ~/env_backup_$(date +%F).txt
或
printenv > ~/env_backup.txt
✅ 适合:
⚠️ 说明:
环境变量通常定义在以下文件中,备份这些文件才是根本方法。
cp ~/.bashrc ~/.bashrc.bak
cp ~/.bash_profile ~/.bash_profile.bak
cp ~/.profile ~/.profile.bak # 如果存在
sudo cp /etc/environment /etc/environment.bak
sudo cp /etc/profile /etc/profile.bak
sudo cp -r /etc/profile.d /etc/profile.d.bak
✅ 这是最推荐的备份方式
| 文件 | 作用范围 | 说明 |
|---|---|---|
~/.bashrc |
当前用户 | 交互式 shell |
~/.bash_profile |
当前用户 | 登录 shell |
/etc/environment |
所有用户 | 简单变量 |
/etc/profile |
所有用户 | 登录 shell |
/etc/profile.d/*.sh |
所有用户 | 推荐放自定义全局变量 |
echo $PATH
保存:
echo 'export PATH=/usr/local/bin:/usr/bin:/bin' >> ~/.bashrc
sudo tar czvf ~/centos_env_backup.tar.gz \
/etc/environment \
/etc/profile \
/etc/profile.d \
/root/.bashrc \
/root/.bash_profile
恢复:
sudo tar xzvf centos_env_backup.tar.gz -C /
env > env.list
可在容器中使用:
docker run --env-file env.list ...
source ~/.bashrc
或重新登录用户
✅ 备份文件而不是 env 输出
✅ 修改环境变量前先备份
✅ 全局变量放 /etc/profile.d/*.sh
✅ 用户变量放 ~/.bashrc
如果你能说明:
我可以给你一套更精确的备份方案。