今日在整理VPS上面的文件的时候,手贱,打错命令,把根目录下的文件全部移动到一个目录下去了。
本来要打
mv 14.rar ../ |
打成
mv 14.rar //* |
然后发现,系统出问题了…
我这个半桶水遇到这个问题彻底蒙了,怎么ls、mv、cp这些命令都用不到了….
[root@li400-86 /]# ls -bash: /bin/ls: No such file or directory [root@li400-86 /]# mv -bash: /bin/mv: No such file or directory |
于是想用SFTP登陆上去看看目录怎么了,发现SFTP方式无法登陆,于是就想不会是服务器没办法登陆了吧,马上新建一个窗口登陆终端,果然已经没办法登陆了,而我此前已经登陆的账户还保持在线,并且可以继续操作。
于是马上向朋友求救,才知道,这个 【mv 14.rar //*】把我根目录下的所有文件都移动到了/ztmp下了
朋友叫我尝试一下打【./】然后再用TAB键来当ls命令使用,最后确认所有根目录文件都在【/ztmp】下。但是就算通过【/ztmp/bin/ls】这样的命令也是无法使用,会提示
./ztmp/usr/bin/ls ./ztmp/usr/bin/ls: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory |
最后这位朋友表示没遇到过这样的问题,所以没办法解决了。
没办法之下找到第二位朋友,根据他说的根目录被移走的情况,上网搜索了一下,找到了:http://sharkyan.blog.51cto.com/536264/771966这篇文章,最后问题才解决。这里就把原文整理一下发到我这里来:
1、由于命令依赖库/lib里面的文件被移动到了/ztmp目录下,所以绝大多数的命令已经无法使用,但是bash原生的那些命令依然可用:
cd、export、declare、echo、pwd
2、由于运行命令的依赖库已经不在指定的目录了,所以需要运行bash以外的命令,就需要指定依赖库文件,现在我的依赖库在【/ztmp/lib】,ls命令在【/ztmp/bin/ls】可以采取:
/ztmp/lib/ld-linux.so.2 --library-path /ztmp/lib /ztmp/bin/ls / -F |
这样的方式来指定依赖库并运行ls命令,发现可以正常使用后,经过朋友确认该目录下的文件都可以复制到根目录下后,朋友让我使用下面的命令,将/ztmp下面的目录以保留权限的方式复制到根目录去:
/ztmp/lib/ld-linux.so.2 --library-path /ztmp/lib /ztmp/bin/cp -rfp /ztmp/* / |
经过漫长的等待后,所有的文件都归位了,所有命令都可以正常使用了,并且也在此确认了一次终端可以正常登陆了,自此,这个问题算是修复完毕了。
事后经过网上搜索后发现,出现这个问题后,终端必须不能断开,否则就没有办法再连接回来了
所有评论(0)