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. 第六周&Java实验报告四(类的继承)

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  2. hive查询结果保存

    参考: https://blog.csdn.net/zhuce1986/article/details/39586189 一.保存结果到本地 方法1:调用hive标准输出,将查询结果写到指定的文件中 ...

  3. spark日志+hivesql

    windows本地读取hive,需要在resource里面将集群中的hive-site.xml下载下来. <?xml version="1.0" encoding=" ...

  4. 编号001:deque用法暂时总结

    #deque的用法总结 In [1]: """ 所在地址:from collections import deque 现在知道的情况总结: 1.deque的用法与list ...

  5. The Preliminary Contest for ICPC Asia Shanghai 2019 A. Lightning Routing I

    传送门 因为某些原因,所以我就去学了 $LCT$ 维护直径, $LCT$ 维护直径我上一个博客讲得很详细了:传送门 这里维护虚儿子用的是 $multiset$ ,没写可删堆 #include<i ...

  6. java实现spark常用算子之collect

    import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...

  7. JS作用域及域解析规则

    1.JS作用域:变量和函数作用的范围. 2.JS解析器可以分为域解析和逐行解读代码两个过程. 域解析:1.当进行域解析的时候,一旦找到var,就会提取后面的变量名,并给它赋值给undefined. 2 ...

  8. 日语能力考试N2级核心词汇必备—副词

                                                                         日语能力考试N2级核心词汇必备—副词 ABAB型的副词 あちこ ...

  9. OneDrive高速下载链接分享

    目录 1. 下载帮助 2. 本文地址 3. 资源链接 4. 打赏&支持 5. 关于&联系我 1. 下载帮助 OneDrive下载教程,建议不了解的先看下: https://www.cn ...

  10. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...