[LINUX] 误删了/lib 怎么办?
2016-07-28 00:00
465 查看
摘要: 我的例子:
#rm -rf /lib
# ls -l
-bash: /bin/ls: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
# /lib.bad_glibc/ld-linux.so.2 --library-path /lib.bad_glibc /bin/cp -rfp /lib.bad_glibc/ /lib
今日在整理VPS上面的文件的时候,手贱,打错命令,把根目录下的文件全部移动到一个目录下去了。
本来要打
打成
然后发现,系统出问题了…
我这个半桶水遇到这个问题彻底蒙了,怎么ls、mv、cp这些命令都用不到了….
于是想用SFTP登陆上去看看目录怎么了,发现SFTP方式无法登陆,于是就想不会是服务器没办法登陆了吧,马上新建一个窗口登陆终端,果然已经没办法登陆了,而我此前已经登陆的账户还保持在线,并且可以继续操作。
于是马上向朋友求救,才知道,这个 【mv 14.rar //*】把我根目录下的所有文件都移动到了/ztmp下了
朋友叫我尝试一下打【./】然后再用TAB键来当ls命令使用,最后确认所有根目录文件都在【/ztmp】下。但是就算通过【/ztmp/bin/ls】这样的命令也是无法使用,会提示
最后这位朋友表示没遇到过这样的问题,所以没办法解决了。
没办法之下找到第二位朋友,根据他说的根目录被移走的情况,上网搜索了一下,找到了:http://sharkyan.blog.51cto.com/536264/771966这篇文章,最后问题才解决。这里就把原文整理一下发到我这里来:
1、由于命令依赖库/lib里面的文件被移动到了/ztmp目录下,所以绝大多数的命令已经无法使用,但是bash原生的那些命令依然可用:
cd、export、declare、echo、pwd
2、由于运行命令的依赖库已经不在指定的目录了,所以需要运行bash以外的命令,就需要指定依赖库文件,现在我的依赖库在【/ztmp/lib】,ls命令在【/ztmp/bin/ls】可以采取:
这样的方式来指定依赖库并运行ls命令,发现可以正常使用后,经过朋友确认该目录下的文件都可以复制到根目录下后,朋友让我使用下面的命令,将/ztmp下面的目录以保留权限的方式复制到根目录去:
经过漫长的等待后,所有的文件都归位了,所有命令都可以正常使用了,并且也在此确认了一次终端可以正常登陆了,自此,这个问题算是修复完毕了。
事后经过网上搜索后发现,出现这个问题后,终端必须不能断开,否则就没有办法再连接回来了
#rm -rf /lib
# ls -l
-bash: /bin/ls: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
# /lib.bad_glibc/ld-linux.so.2 --library-path /lib.bad_glibc /bin/cp -rfp /lib.bad_glibc/ /lib
今日在整理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/* /
经过漫长的等待后,所有的文件都归位了,所有命令都可以正常使用了,并且也在此确认了一次终端可以正常登陆了,自此,这个问题算是修复完毕了。
事后经过网上搜索后发现,出现这个问题后,终端必须不能断开,否则就没有办法再连接回来了
相关文章推荐
- CentOS系统误删除文件怎么恢复
- [CENTOS] 安装glibc
- 用python获取linux下一个目录下一级目录的各自大小
- linux icmp 禁用问题
- exec函数的使用
- 虚拟机的centOS里可以访问PHP脚本,而windows下不能访问
- Linux运维学习-1——2016年7月19日
- Linux回传码
- linux下的find文件查找命令与grep文件内容查找命令
- Linux下,延长SSH的连接超时时间
- linux nand flash 驱动简单介绍
- 安装vmtools for linux
- <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库
- 将RHEL7/centos7系统网卡名称eno16777736改为eth0
- linux文件系统结构及简单操作
- Linux之使用帮助
- 新环境部署(linux硬盘挂载项目迁移启动)
- 中标麒麟操作系统设置或修改root密码
- Linux初体验(二)
- Linux环境下5种I/O模型