一次错误mv /* /path/to 操作的恢复

描述:执行mv命令的时候没有注意路径,结果把根目录下的大部分目录都挪到了一个新路径中,然后立即

出错命令不能继续,因为 /lib已经被挪走了,/lib下保存有最基本的系统运行库,现代的linux系统大多

数命令已经动态连接了,当/lib路径改变的时候,那你能用来创建目录,或用来copy文件的任何命令,都

不好用了,都会报下面错误:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

这表示已经找不到ld-linux.so.2这个文件了

由于文件都已经被挪走了,我们平时依赖的工具都不好用了。即使你敲入绝对路径,也会提示:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory这个错误

尝试了下面的命令

/www/users/abcdefg.net/{ls,ln,mkdir,mktemp,ftp,rsync,mv,cp,rm,ldconfig,scp,sftp,perl,ash,zsh,csh} 报的都是上面的错误,

常规的创建文件,创建目录和目录文件转移操作,及远程或本地复制文件操作都无法进行了。

再尝试找下好用的命令:

cd export declare echo > 这些内置命令都是好用的。

我们看下现场,由于ls已经不好用了。那只好用bash的自动补齐功能(TAB键)来看看有哪些目录和文件

首先检查哪些目录被挪走了,执行下面命令:

/www/users/abcdefg.net [按TAB]

输出如下:

backup  bin  boot  dev  ecshop etc  home  lib  lost+found  media  misc  mnt  opt  proc www_logs ucenter

可以看出 bin和lib都已经被挪过来了,那我们既不能直接执行bin下的程序,也不能执行任何依赖/lib下的程序,而且etc也被mv到这里来

所以我们连修改ld.so.conf并生成新的ld.so.cache的机会也没有,因为我们无法执行创建/etc目录的命令。

开始恢复吧

过程不复杂,我们还有ld-linux.so.2 可用,虽然它已经变了位置。

ld-linux.so.2是linux系统的动态连接器,我们可以用他来执行命令,我们使用它的--library-path参数来重新指定LD_LIBRARY_PATH的位置

再看看根目录还有啥

/www/users/abcdefg.net/lib/ld-linux.so.2 --library-path /www/users/abcdefg.net/lib /www/users/abcdefg.net/bin/ls / -F

输出正常,

恢复/lib

/www/users/abcdefg.net/lib/ld-linux.so.2 --library-path /www/users/abcdefg.net/lib /www/users/abcdefg.net/bin/cp -rfp /www/users/abcdefg.net/lib /lib

恢复/bin

/www/users/abcdefg.net/lib/ld-linux.so.2 --library-path /www/users/abcdefg.net/lib /www/users/abcdefg.net/bin/cp -rfp /www/users/abcdefg.net/bin /bin

恢复其他目录

cd /www/users/abcdefg.net

for i in bin boot etc lib media misc mnt opt ; do rsync -av --progress ./$i/ /$i/; done

然后我们再还原dev目录

cd dev

cp -dRp * /dev

重新检查ssh登陆,此时已经能登陆系统了,仔细检查/boot /etc ,都已经正确恢复,重起系统,所有恢复完毕

转自http://blog.51cto.com/sharkyan/771966

原文:https://www.cnblogs.com/promise-x/p/8761781.html

linux根目录被mv,【Linux】mv根目录的恢复(转)相关推荐

  1. linux ls mv,Linux基本命令总结一(ls,cp,rm,mv,mkdir,rmdir,cd)

    企业中,软件项目的开发,代码的集成,编译等工作,都离不开Linux操作系统.然而linux命令及选项众多,掌握如下Linux常用命令,有助于小伙伴们快速入门Linux操作系统并开始你的工作,下面我们开 ...

  2. linux交换分区的目录,linux 下的交换分区及根目录

    linux下的分区情况 Linux下的交换分区 Linux系统中的Linux交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用.当系统需要更多的内存资源,而物理内存已经充满,内存中不活跃 ...

  3. linux mv 递归拷贝,奇技淫巧 - 给Linux中的cp和mv命令中添加进度条的高级拷贝

    GNU cp和GNU mv命令用于在GNU/Linux操作系统中复制和移动文件和目录.这两个命令缺少的一个特性是它们不显示任何进度条.如果复制一个大文件或目录,您就不知道完成复制过程需要多长时间,也不 ...

  4. linux救援模式下卸载根目录,删除Linux的依赖库并进入救援模式恢复

    删除Linux的依赖库并进入救援模式恢复 删除Linux的依赖库并进入救援模式恢复 模拟一下依赖库文件被删,并进入救援模式恢复 系统:CentOS7 一.删除mv的依赖库文件 删除/lib64/lib ...

  5. Linux 命令(24)—— mv 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 mv (move) 用来移动或改名文件和目录. 移动文件时如果目标文件已经存,则目标文件的内容将被覆盖. mv ...

  6. linux mv命令的功能,linux常用命令:Linux常用命令之mv命令是什么?

    Linux是目前使用比较广泛的服务器操作系统,可以安装在各种计算机硬件设备中,例如手机,路由器等.由于Linux是开源和免费的,因此Linux系统的稳定性和安全性更高一些,所以Linux具有很高的市场 ...

  7. Linux命令详解之 mv

    linux 命令详解 本文主要内容来自Linux man 手册 命令名称: mv(move)移动/重命名文件 命令用法: mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件 ...

  8. linux减小根目录空间_Linux下调整根目录的空间大小,空间分配情况

    一.目的 在使用CentOS6.3版本linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整.首先,先来查看一下系统的空间分配情况 ...

  9. 给Linux中的cp和mv命令中添加进度条的高级拷贝

    GNU cp和GNU mv命令用于在GNU/Linux操作系统中复制和移动文件和目录.这两个命令缺少的一个特性是它们不显示任何进度条.如果复制一个大文件或目录,您就不知道完成复制过程需要多长时间,也不 ...

  10. Linux 从当前目录下切换到根目录下

    Linux 从当前目录下切换到根目录下 切换到根目录下,直接su,或者su root,根用户为#符号 使用su命令切换到root用户 由于root用户一开始是没有密码的,因此首先输入:sudo pas ...

最新文章

  1. 2018年Java生态行业报告
  2. js转Java的list_JS之JSON字符串到后台用Java转换成List实体类
  3. 从生成对抗网络到更自动化的人工智能
  4. Gartner:全球IT未来十年热门技术TOP10
  5. Android是否会因低价打败iPhone
  6. Codeforces Round #498 (Div. 3)
  7. C# Winform 窗体美化(二、LayeredSkin 界面库)
  8. 【机器学习课程笔记(吴恩达)】1.2 什么是机器学习?
  9. Ripple_vJZ
  10. django 1.8 官方文档翻译: 2-4-4 编写迁移
  11. 在Java 8中,有没有一种简洁的方法可以迭代带有索引的流?
  12. 阿里云解决方案架构师李晨:百万级价签系统的实时洞察与创新实践
  13. Shell编程之常用内置命令
  14. 大数据思维的核心是什么?
  15. 公众号管理系统 v1.0.0
  16. STC12C5A60S2A/D转换
  17. java pgm_如何用Java读取PGM图像?
  18. java--快速输出sql语句
  19. 互联网医院系统软件开发|互联网医院管理系统开发的好处
  20. java输出美国的时间_java显示当前美国洛杉矶时间

热门文章

  1. c语言上机考试设计题及答案,C语言程序设计基础上机考试一题目及参考答案.doc...
  2. mac bochs 调试linux,Mac OS X下编译安装带debugger的bochs
  3. C++之构造函数和类型转换探究
  4. 解析器 java_Java高性能解析器实现思路及方法学习
  5. zigbee无线传感网技术与应用开发v2.0_ZigBee网络架构详解
  6. #控制台大学课堂点名问题_草率了!大学课堂点名新招数来袭,逃课的一个也没有躲过...
  7. php orm教程,Laravel ORM 数据model操作教程
  8. portal认证 php,如何用PHP制作OSSH 免费版华为Portal系统认证前端页面
  9. 任务驱动在计算机教学中的应用,浅谈任务驱动法在《计算机应用基础》教学中的应用_优秀论文...
  10. pdb断点命令_Python使用pdb更优雅的调试代码