误将Ubuntu Server根目录移至备份目录后无法执行命令的求助
误将Ubuntu Server根目录移至备份目录后无法执行命令的求助
别慌!这种操作失误其实挺常见的,咱们一步步来解决:
第一步:恢复可执行命令的环境
你把/bin、/sbin这些存放系统核心命令的目录都移到backup/里了,所以普通命令调用不了。不过当前的shell还在运行,咱们可以直接调用备份目录里的bash来恢复正常环境:
执行这条绝对路径命令:
exec /backup/bin/bash
执行完后你应该就能正常用ls、mv这些命令了——因为现在的bash是从备份目录里加载的,它能找到对应的命令文件。
第二步:把根目录内容移回去
环境正常后,咱们把backup/里的所有内容移回根目录,注意别把backup目录本身也移进去:
- 先切换到根目录确保路径正确:
cd /
- 执行移动命令:
mv /backup/* /
- 如果根目录原来有隐藏文件(比如
.bashrc、.profile这类以.开头的文件),刚才的命令没覆盖到,补一步:
shopt -s dotglob mv /backup/* /
shopt -s dotglob是让shell匹配隐藏文件,这样就能把所有内容都移回去了。
第三步:验证并清理
移完后用ls /看看根目录下是不是恢复了bin、etc、home这些熟悉的目录,确认没问题后可以删掉空的backup/目录:
rmdir /backup
如果上面的exec方法行不通(比如备份目录路径不对),还可以试试切换到另一个终端:按Ctrl+Alt+F2(或F3-F6)登录tty,系统会用绝对路径加载shell,登录后直接执行移动命令就行。
备注:内容来源于stack exchange,提问作者Han
相关产品推荐
相关产品推荐

