ubuntu下恢复被rm删除的文件
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删除的文件的更多相关文章
- Linux下将使用rm删除的文件显示在回收站中
人难免会失误,出现一些问题,在删除文件的时候使用rm,删除之后就后悔了.因为rm命令删除的文件是不进入回收站的,这使得恢复起来很困难.解决这一难题,可以使用python编写的trash-cli( ht ...
- Linux下用rm删除的文件的恢复方法
Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...
- Linux rm 删除指定文件外的其他文件 方法汇总
一.Linux下删除文件和文件夹常用命令如下: 删除文件: rm file 删除文件夹: rm -rf dir 需要注意的是, rmdir 只能够删除 空文件夹 . 二.删除制定文件(夹)之外的所有文 ...
- Linux rm删除大批量文件
在使用rm删除大批量文件时,有可能会遭遇"参数列太长"(Argument list too long)的问题.如下所示 [oracle@DB-Server bdump]$ rm - ...
- windows下使用DOS命令删除大文件
首先进入DOS命令窗口: 1.进入到将要删除的目录: 执行命令: rmdir /s/q 文件夹名称 2.删除指定文件: 进入文件的目录下,找到要删除的文件名称+扩展名:例如111.jpg执行命令: d ...
- Linux rm删除大批量文件遇到 Argument list too long
在使用rm删除大批量文件时,有可能会遭遇“参数列太长”(Argument list too long)的问题.如下所示 [oracle@DB-Server bdump]$ rm -v epps_q ...
- 在linux下使用debugfs恢复rm删除的文件
原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件. 以下方法在ext3的文件系统上测试通过,ext2的没 ...
- Ubuntu 16.04使用rm -rf误删文件恢复方法收集
说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...
- 如何恢复 Linux 上删除的文件,第 1 部分
来源:http://www.ibm.com/developerworks/cn/linux/l-cn-filesrc/ 原理及普通文件的恢复 要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的 ...
随机推荐
- Splunk初识
目录 网址汇总 注册与下载 安装 使用 中文环境 关于APP Splunk自带的APP 创建自己的APP 添加数据 本地文件添加 通过监视添加数据 自定义列 查询语句 SPL 与 SQL对照 命令查找 ...
- C语言博课作业11
一.本周作业头 这个作业属与那个课程 C语言程序设计I 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130 ...
- Til the Cows Come Home 最短路Dijkstra+bellman(普通+优化)
Til the Cows Come Home 最短路Dijkstra+bellman(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回 ...
- vue.js之过渡动画
vue提供了一个封装动画的组件 <transition name="tr"></transition>,将需要执行动画的元素包裹在该组件中,在通过css修改 ...
- KNN-综合应用
本文代码均来自<机器学习实战> 这里讲了两个例子,datingclass 和 figureclass,用到的都是KNN,要调用这两个例子的话就在代码末尾加datingClassTest() ...
- qt嵌入式html和本地c++通信方式
前沿:我们在做qt项目的时候,通常会把某个html网页直接显示到应用程序中.比如绘图.直接把html形式的图标嵌入到应用程序中 但是我们需要把数据从后台c++端传到html端,实现显示.qt实现了相关 ...
- 已知两个int变量a、b,定义4个方法分别对变量a、b进行加减乘除运算,并测试结果。
package com.fs.test; public class Test { public void aMethod(int a, int b) { int add = a + b;//*表示加法 ...
- MySQL之常用SQL语句
1) 分表之后统计数据的总量 SELECT (a0.total + a1.total + a2.total + a3.total + a4.total + a5.total + a6.total + ...
- laravel 添加筛选方式
protected function grid() { return Admin::grid(Client::class, function (Grid $grid) { $grid->id(' ...
- Linux-定时任务排查
前段时间,哥们的服务器被人反弹了shell,由于反弹的地址不可达,系统总是会发送一条mail邮件到root账户,导致入侵行为被发现,由于反弹的动作是通过crontab来定时执行的,所以来梳理下cron ...