ubuntu是文件系统,不像windows系统划分盘符(C/D/E/etc...盘)。ubuntu对磁盘划分分区,可以使用extundelete恢复ext3/ext4格式的磁盘分区。

其中,ext3/ext4是linux的正规文件系统,是一款索引式文件系统。

注意:一旦发生误删操作,应该立即停止对磁盘进行写入操作(download or install),记录下误删操作发生的时间文件路径

extundelete软件的官网

http://extundelete.sourceforge.net/

使用extundelete软件撤销rm操作的博客

https://my.oschina.net/fufangchun/blog/176550

https://www.cnblogs.com/yuhuLin/p/7027253.html

https://blog.csdn.net/zcf1002797280/article/details/49812649#commentBox

相关命令行

1. 查看本机的所有磁盘分区

sudo fdisk -l

2. 查看某一目录属于哪个磁盘分区

% df -h [directory]
df -h /usr/lib/

经验总结:

1. 做好备份。熟练使用git。

2. 重定义rm。rm是个非常危险的命令行。具体操作如下:

在 ~/.bashrc 添加如下内容,重定义 rm 指令。

mkdir -p ~/.trash
alias rm=trash
alias sudorm=sudotrash
alias rl='ls ~/.trash'
alias ur=undelfile undelfile()
{
mv -i ~/.trash/$@ ./
} trash()
{
mv $@ ~/.trash/
}
sudotrash()
{
sudo mv $@ ~/.trash/
}
cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }

这段代码定义了三个函数 trash()、 undelfile() 和cleartrash() 。

其中,trash的作用是挪动文件到指定回收站目录;

sudotrash的作用是使用超级权限挪动文件到指定回收站。如果运行sudo rm,此时rm是最原始的删除功能,并非重定义的移动功能

undelfile的作用是找回回收站中的指定文件;

cleartrash的作用是清空回收站目录。

添加完毕后, source ~/.bashrc  使重定义生效。此时已经可以找到  ~/.trash/  文件夹了。

命令行:

1. rl 查看 ~/.trash/ 文件夹中的内容;

2. rm file, rm directory 删除文件或者文件夹;

3. sudorm file, sudorm directory 使用超级权限删除文件或者文件夹;

4. ur file, ur directory 从 ~/.trash 中恢复文件或者文件夹到原位;

5. cleartrash 清空 ~/.trash/

实验示范一下:

gordon@gordon-:~ $ mkdir showtime
gordon@gordon-:~ $ cd showtime/
gordon@gordon-:~/showtime $ l
gordon@gordon-:~/showtime $ touch baba
gordon@gordon-:~/showtime $ mkdir mama
gordon@gordon-:~/showtime $ l // 创建showtime文件夹,在这里演示
baba mama/ gordon@gordon-:~/showtime $ rl // 此时回收站 ~/.trash/ 文件夹为空
gordon@gordon-:~/showtime $ rm baba // rm baba 文件,进入 ~/.trash/ 文件夹
gordon@gordon-:~/showtime $ rl
baba gordon@gordon-:~/showtime $ rm -r mama
mv: invalid option -- 'r'
Try 'mv --help' for more information.
gordon@gordon-:~/showtime $ rm mama // 注意,移除文件夹不需要加 -r 参数
gordon@gordon-:~/showtime $ rl
baba mama gordon@gordon-:~/showtime $ l // 查看 showtime/ 文件夹,此时为空的
gordon@gordon-:~/showtime $ ur baba // 从 ~/.trash/ 文件夹恢复baba文件至原位
gordon@gordon-:~/showtime $ l
baba
gordon@gordon-:~/showtime $ rl
mama
gordon@gordon-:~/showtime $ ur mama // 恢复 mama/ 文件夹
gordon@gordon-:~/showtime $ l
baba mama/
gordon@gordon-:~/showtime $ rl gordon@gordon-:~/showtime $ rm baba mama
gordon@gordon-:~/showtime $ rl
baba mama gordon@gordon-:~/showtime $ cleartrash // 彻底清空 ~/.trash/ 文件夹中的内容
clear sure?[n]y // 根目录下,创建/删除文件都需要sudo权限
gordon@gordon-:/usr/local $ cd showtime/
gordon@gordon-:/usr/local/showtime $ sudo mkdir baba mama
gordon@gordon-:/usr/local/showtime $ sudo touch gege didi
gordon@gordon-:/usr/local/showtime $ l
baba/ didi gege mama/
gordon@gordon-:/usr/local/showtime $ rl
gordon@gordon-:/usr/local/showtime $ sudorm baba/
gordon@gordon-:/usr/local/showtime $ sudorm gege
gordon@gordon-:/usr/local/showtime $ rl
baba gege
gordon@gordon-:/usr/local/showtime $ l
didi mama/ gordon@gordon-:/usr/local/showtime $ sudo rm mama // 在有些电脑,运行sudo rm是原始的删除,并非重定义的移动操作
sudo: trash: command not found
gordon@gordon-:/usr/local/showtime $ sudo rm -r mama
sudo: trash: command not found
gordon@gordon-:/usr/local/showtime $ sudo rm didi
sudo: trash: command not found

ubuntu下恢复被rm删除的文件的更多相关文章

  1. Linux下将使用rm删除的文件显示在回收站中

    人难免会失误,出现一些问题,在删除文件的时候使用rm,删除之后就后悔了.因为rm命令删除的文件是不进入回收站的,这使得恢复起来很困难.解决这一难题,可以使用python编写的trash-cli( ht ...

  2. Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...

  3. Linux rm 删除指定文件外的其他文件 方法汇总

    一.Linux下删除文件和文件夹常用命令如下: 删除文件: rm file 删除文件夹: rm -rf dir 需要注意的是, rmdir 只能够删除 空文件夹 . 二.删除制定文件(夹)之外的所有文 ...

  4. Linux rm删除大批量文件

    在使用rm删除大批量文件时,有可能会遭遇"参数列太长"(Argument list too long)的问题.如下所示 [oracle@DB-Server bdump]$ rm - ...

  5. windows下使用DOS命令删除大文件

    首先进入DOS命令窗口: 1.进入到将要删除的目录: 执行命令: rmdir /s/q 文件夹名称 2.删除指定文件: 进入文件的目录下,找到要删除的文件名称+扩展名:例如111.jpg执行命令: d ...

  6. Linux rm删除大批量文件遇到 Argument list too long

    在使用rm删除大批量文件时,有可能会遭遇“参数列太长”(Argument list too long)的问题.如下所示   [oracle@DB-Server bdump]$ rm -v epps_q ...

  7. 在linux下使用debugfs恢复rm删除的文件

    原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件. 以下方法在ext3的文件系统上测试通过,ext2的没 ...

  8. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

  9. 如何恢复 Linux 上删除的文件,第 1 部分

    来源:http://www.ibm.com/developerworks/cn/linux/l-cn-filesrc/ 原理及普通文件的恢复 要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的 ...

随机推荐

  1. Elasticsearch-集群增加节点

    ES-在集群中加入节点 查看分片信息 FengZhendeMacBook-Pro:nacos FengZhen$ curl 'localhost:9200/_cat/shards?v' index s ...

  2. MySQL数据库创建时间和更新时间错乱问题

    在数据中勾选create_time和update_time不为空可以解决更新记录时,create_time也被更新的毛病

  3. python中几个常见的魔法方法

    首先,什么是魔法方法呢?在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做"魔法"方法. __ init__()方法 当一个实例被创建的时候调用的初始 ...

  4. python2.7.5升级到2.7.14或者直接升级到3.6.4

    python2.7.5升级到2.7.14 1.安装升级GCC yum install -y gcc* openssl openssl-devel ncurses-devel.x86_64  bzip2 ...

  5. CSA Lignts Out

    csa 算是热身题吧 如果是每次操作一行或一列,那么无论怎么操作,本质不同的行最多只有两种,本质不同的列也最多只有两种,那么只要把某一种行和某一种列全部翻转使得全为0即可 现在是同时操作一行一列,显然 ...

  6. 将本地的java项目提交到github出错解决

    1.我们新建一个了java项目后,需要提交到github进行版本控制 2.如果此时github中的仓库不为空,我们在本地使用git push提交时会报以下错误, ! [rejected]       ...

  7. PHP之常用第三方库

    汇总常用的第三方库,方便快速进行开发,避免重复造轮子 1. 时间相关 nesbot/carbon(在编写 PHP 应用时经常需要处理日期和时间,使用Carbon 会很方便– 继承自 PHPDateTi ...

  8. CSS hack(过滤器)

    CSS hack概念: 是针对不同浏览器对同一段代码解析不同的处理方案:<解决兼容性问题> 属性设置在不同版本的IE里会出现不兼容问题,css hack解决兼容主流浏览器和IE 常见的过滤 ...

  9. css中新增的属性calc()可以计算使用

    什么是calc: calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度.可以使用calc()给元素的border.margin.pading.font-s ...

  10. Linux20期学习笔记 Day1

    Linux就该这么学第一章 1.4重置root管理员密码  放到红帽RHCSA考前辅导视频 源代码安装: 弊端:(好处第二章讲解) 1.难度高,安装困难 2.自己解决依赖关系(暂时不说) 新技术:RP ...