在 CentOS 中,“env 恢复”通常有以下几种常见场景。你可以看看你属于哪一种,我再细说。
如果你只是在当前终端里 export 了一些变量,或者 PATH 被改错了:
exit
或重新打开一个终端,环境变量会恢复默认。
如果 PATH 被改坏,命令都找不到:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CentOS 的环境变量主要来自这些文件:
/etc/profile/etc/bashrc~/.bash_profile~/.bashrcsource /etc/profile
source ~/.bash_profile
可以从其他正常 CentOS 机器拷贝,或重装相关包:
# 恢复 /etc/profile
rpm -qf /etc/profile
yum reinstall setup bash
如果 env 命令丢失:
which env
ls -l /usr/bin/env
恢复:
yum reinstall coreutils
可以对比正常用户:
su - normaluser
env
如果 root 的 env 异常:
su -
env
env 变量不会自动保存历史,但如果系统还没重启:
env > /tmp/env_now.txt
如果已重启,只能靠:
-bash: ls: command not found
解决:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
如果你能说清楚:
我可以直接给你一条精确恢复命令。