Linux 回收站
聊一聊执行 rm -rf 数据恢复以及建立 Linux 回收站
误删除 rm -rf
如果在Linux 平台下,执行 rm -rf 误删除文件,我们可以做哪些数据恢复的工作以及我们该如何应对不小心删除数据。
windows 恢复误删除文件相对比较简单,各种版本的磁盘工具都能轻松恢复。
本章节主要讲的是 centos7 下误删除文件的恢复。 由于 ext4 于 xfs 恢复方法不一样,所以准备 ext4 和 xfs 两种格式的分区:

为了最后确认数据, 这里从其他目录复制一份文件到测试目录:
[root@localhost data]# cp /etc/hostname /data/data-ext4/
[root@localhost data]# cp /etc/hostname /data/data-xfs/
[root@localhost data]# tree
.
├── data-ext4
│ ├── hostname
│ └── lost+found
└── data-xfs
└── hostname 3 directories, 2 files
ext4 误删除恢复
Ext 分区文件可以使用恢复工具 extundelete 来恢复。
- 通过手动删除的方法对ext4分区的文件进行删除:
[root@localhost ~]# cd /data/data-ext4/
[root@localhost data-ext4]# rm -rf hostname
[root@localhost data-ext4]# ls
lost+found
开始安装恢复工具extundelete
# 安装恢复工具 [root@localhost ~]# yum install epel-release -y
[root@localhost ~]# yum install extundelete -y # 卸载分区/dev/vdb1; [root@localhost ~]# umount /dev/vdb1
# 执行恢复命令; [root@localhost ~]# extundelete /dev/vdb1 --inode 2
下面可以看到已经删除的文件了

恢复文件:extundelete /dev/vdb1 --restore-all
注意:最好是用--restore-all参数,恢复单个文件或者恢复目录可能会报错。
在当前目录下会创建一个RECOVERED_FILES目录,通过md5比对确认是同一个文件。

xfs 文件恢复
xfs 是用 xfsdump 于 xfsrestore 工具进行备份恢复。
安装 xfsdump
#安装xfsdump yum install -y xfsdump
#利用xfsdump备份磁盘。 xfsdump -f /data/xfsbackup /dev/vdc1

模拟删除文件:
[root@localhost data]# cd data-xfs/
[root@localhost data-xfs]# ls
hostname
[root@localhost data-xfs]# rm -rf hostname
[root@localhost data-xfs]# ls
[root@localhost data-xfs]#
恢复文件:
[root@localhost data]# xfsrestore -f xfsbackup backup/
其中xfsbackup是上面执行xfsdump生成的备份文件,bakup/意思为文件恢复到指定目录

进入backup目录,通过MD5对文件进行校验,文件是刚刚删除的文件。

如何应对 rm -rf (建立回收站)
工作中,由于 rm -rf 带来损失的新闻比比皆是,那我们应该做些什么来应对误删除呢?
方法有许许多多,这里介绍一个比较好一点的方法,建立rm 回收站。
vim ~/.bashrc
#注释掉rm=rm -i
#如何添加下面的内容

回收站演示:
使用rm -rf提示mv没有-r参数不能使用,利用rm 删除文件以后,利用rl就可以查看回收站内容,如果要彻底删除,就用cleartrash命令。
[root@localhost data]# rm -rf xfsbackup
mv: invalid option -- 'r'
Try 'mv --help' for more information.
[root@localhost data]# rm xfsbackup
[root@localhost data]# ls
data-ext4 data-xfs
[root@localhost data]# rl
xfsbackup
[root@localhost data]# cleartrash
clear sure?[n]y
总之,平时要养成重要数据备份的好习惯,恢复工具也不能保证百分百恢复,免得等误删除以后才追悔莫及。
希望大家能够多多关注,多年致力于互联网搬砖,各种互联网技术都稍有涉猎。
Linux 回收站的更多相关文章
- linux回收站设计
linux回收站设计 在windows下有一个很好的东西,那就是回收站,虽然有很多人批评它.linux不是没有回收站,很多桌面环境都可以看到是有回收站的. 这里是讨论如何设计一个回收站,而不是有没有的 ...
- 打造Linux回收站
linux是没有回收站概念的,一旦误删除文件了是很难很难找回来的,对普通用户而言误删除文件就等于永久性不可逆丢失数据了:不过可以改造一下rm命令来变相实现回收站功能,实际上就是mv命令转移文件到指定路 ...
- shell实现linux回收站的功能
shell实现linux回收站的功能 下载: https://gitee.com/LoongWang/shellrecycling/repository/archive/master.zip 代码: ...
- Linux回收站的路径在哪里?
linux 回收站的路径:-/.local/share/Trash
- Linux回收站(改写rm防止误删文件无法恢复)
rm -rf 慎用 命令敲得多了,常在河边走,难免会湿鞋 昨天,一个手误,敲错了命令,把原本想要留的文件夹给rm -rf掉了 几天心血全木有了,靠,死的心都有了 经百度,google以及尝试无果,哎, ...
- 系统优化——建立linux回收站机制
前言: linux系统下的rm是不可挽回的,命令设计本身没有问题,问题在于我们通常非常的自信,执行的时候喜欢rm -rf,这样的话就非常危险了,在执行的时候如果执行命令不对,甚至是执行的目录不对,那么 ...
- linux 回收站的添加
在~下 .bashrc或者.bash_profile加入 mkdir -p ~/.trash alias rm=trash trash() { mv $@ ...
- Linux回收站[改写rm防止误删文件无法恢复]
http://blog.csdn.net/wklken/article/details/6898590
- 《Linux命令、编辑器与shell编程》第三版 学习笔记---002
<Linux命令.编辑器与shell编程>第三版 学习笔记---001 Linux命令.编辑器与shell编程 Shell准备 1.识别Shell类型 echo $0 echo $BAS ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
随机推荐
- 树莓派4B-细分驱动步进电机
树莓派4B-细分驱动步进电机 项目介绍 利用4B树莓派控制步进电机转动,精度可达:0.0144度 (即360度/25000) 适用于非常精密的角度转动. 舵机的精度为1度,无法实现超高精度控制. 硬件 ...
- 【HTML】Echart图表
layui-echarts 简介 基于layui 实现的 echart 图表 Echart 官网 示例 Echart示例 下载Echart Echart下载 我们选择最下面的在线定制 我这里就按照它默 ...
- github上传文件报错failed to push some refs解决
报错内容,不能推送文件到github上 error: failed to push some refs to github地址 原因是github项目与本地文件夹一些关键文件的确实,比如.git,re ...
- 【转载】Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)
原文信息: 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作 ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(九):Mybatis主配置文件和映射文件
第9章 Mybatis主配置文件和映射文件 9.1 用Mybatis进行开发的两种方式 在正式的开发环境中用Mybatis进行开发有两种方式: 1)原始的接口和实现类的方式 缺点: 重复代码太多,sq ...
- docker 镜像与容器存储目录结构
目录列表及大小示例-20220314 root@dewan01:/var/lib/docker# du -sh * 88K buildkit 72K containers 884K image 60K ...
- CMDB 相关
CMDB 术语 CI(配置项) 配置管理解决方案(如CMDB)中的基本有形或无形实体. 为了交付IT服务而需要管理的任何组件. 通常包括IT服务.硬件.软件.架构.人员和正式文档(如流程文档和sla) ...
- Powe AutoMate:列表操作
大纲 记录对列表的操作 创建列表 向列表中添加元素 添加多个 合并列表 运行结果 反转列表 反转前 反转后 删除列表中的重复项 结果: 减去列表 结果:
- Blazor前后端框架Known-V1.2.11
V1.2.11 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Git ...
- JVM常用运行时参数说明
前言 仅列出常用JVM调优参数,更多请转文末的官方文档链接. 堆内存 -Xmx,设置最大堆内存,默认为物理内存的1/4.示例:-Xmx4096m,设置为4G -Xms,设置初始内存,默认为物理内存的1 ...