百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

如何在 Linux 中恢复已删除的文件

ahcoder 2025-01-14 10:28 18 浏览

一、概述

这曾经发生在你身上吗?你意识到你错误地删除了一个文件---要么通过Del键,要么在命令行中使用rm

在第一种情况下,您可以使用回站站(GNOME界面),然后将其恢复到原始位置。但是第二种情况呢?我相信你可能知道,Linux 命令行不会将删除的文件发送到任何地方,而是直接删除它们。

二、过程

2.1 为“rm -i”创建别名

-i选项与rm一起使用时在删除文件之前会出现提示。此提示让您有第二次机会考虑是否真的要删除文件 ,但此提示不会保护您免受自己的粗心大意删除文件,它只是给你提供了二次确认的机会。

要将rm替换为别名'rm -i',请执行以下操作:

alias rm='rm -i'

alias命令将确认rm现在是别名:

但是,这只会在当前 shell 中的当前用户会话期间持续。要使更改永久生效,您必须将其保存到~/.bashrc(某些发行版可能会使用~/.profile),如下所示:

[

为了使~/.bashrc(or ~/.profile) 中的更改立即生效,请从当前 shell 获取文件:

. ~/.bashrc

[

2.2 复工具 – Foremost

在日常的系统操作,请小心的你文件,但是,如果您意识到您不小心删除了系统中的文件并且惊慌失措,别担心,此工具会轻松帮你找回误删除的文件!

2.2.1 安装软件包

CentOS/RHEL 7,是目前在生产环境见到的使用最广泛的版本,下面展示在CentOS/RHEL 7中的安装过程

#rpm -Uvh https://rpmfind.net/linux/dag/redhat/el7/en/x86_64/dag/RPMS/foremost-1.5.7-1.el7.rf.x86_64.rpm

命令展示:

[root@192_168_209_128 images]# foremost  -h
foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus.
$ foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t <type>] [-s <blocks>] [-k <size>] 
        [-b <size>] [-c <file>] [-o <dir>] [-i <file] 

-V  - display copyright information and exit
-t  - specify file type.  (-t jpeg,pdf ...) 
-d  - turn on indirect block detection (for UNIX file-systems) 
-i  - specify input file (default is stdin) 
-a  - Write all headers, perform no error detection (corrupted files) 
-w  - Only write the audit file, do not write any detected files to the disk 
-o  - set output directory (defaults to output)
-c  - set configuration file to use (defaults to foremost.conf)
-q  - enables quick mode. Search are performed on 512 byte boundaries.
-Q  - enables quiet mode. Suppress output messages. 
-v  - verbose mode. Logs all messages to screen

选项释义:

  • -t:指定要恢复的文件类型如jpeg,pdf,exe,doc等,如果要恢复所有文件类似,指定参数值为"all"即可。
  • -d:打开间接块检测(对于 UNIX 文件系统)
  • -i:指定输入文件(默认为标准输入)
  • -a:不执行错误检测(损坏的文件)
  • -w:只输出审计文件,不输出被删除的文件至磁盘上
  • -o:设置输出目录(默认为输出)

2.2.2 示例展示

1、安装完成后,让我们进行一个简单的测试

首先我们将xihu.jpg/boot/images目录中删除:

[root@192_168_209_128 images]# cd image
[root@192_168_209_128 images]# pwd
/boot/images
[root@192_168_209_128 images]# ls
xihu.jpg
[root@192_168_209_128 images]# rm xihu.jpg

2、执行恢复

要恢复它,首先按如下方式使用(您需要首先识别底层分区 -在这种情况下/dev/sda1就是/boot所在的分区):

#foremost -t jpg -i /dev/sda1 -o /home/rescure/

3、查看恢复情况

查看一下审计文件

从输出内容来看,文件被成功恢复。

注意事项:

其中/home/rescue是单独磁盘上的目录 - 请记住,在已删除文件所在的同一驱动器上恢复文件不是明智之举。

如果在恢复过程中,您占用已删除文件所在的相同磁盘扇区,则可能无法恢复任何内容。此外,必须在执行恢复之前停止所有活动。

在 foremost 完成执行后,恢复的文件(如果可以恢复)将在/home/rescue/jpg目录中找到。

三、小结

在本文中,我们解释了如何避免意外删除文件以及在发生此类意外事件时如何尝试恢复文件。但是请注意,根据分区的大小,最终可能需要运行很长时间。

相关推荐

KaOS 2025.05版本发布:全面拥抱Qt6,彻底告别Qt5

KaOSLinux2025.05版本重磅发布:全面拥抱Qt6,开启KDE生态新篇章继2025.03版本发布两个月后,专注于KDE桌面环境、采用XFS文件系统的滚动发行版Li...

基于FIMC接口的CMOS摄像头驱动分析与设计

摘要:目前的嵌入式系统中,USB摄像头使用比较普遍,但其应用会受到传输速度的限制。本文采用一款高速CMOS摄像头,其驱动利用S3C6410内置的FIMC接口技术,采用DMA和ping-pong缓冲...

没错是微软 推出基于Linux的交换机系统

2015-09-2205:59:59作者:郑伟你没看错,为了提升自身Azure云数据中心内网络设备的兼容性及开放性,微软也开始推出基于Linux的网络交换机系统了。这个被称为AzureCloud...

Linus Torvalds 宣布首个 Linux 内核 6.16 候选版本

Linux内核负责人兼创始人LinusTorvalds宣布关闭合并窗口,该窗口用于将主要新功能添加到内核中,并开始发布Linux6.16候选版本,从候选版本1(Linux6.16-r...

Linux内核漏洞将影响Haswell架构服务器

在infoq网站上,GilTene最近报告一个十分重要,但并不为人知Linux内核补丁,特别对采用Haswell架构的Linux系统用户和管理员应该特别关注。报告提醒RedHat发行版的用户(包括...

关于Linux性能调优中网络I/O的一些笔记

写在前面和小伙伴分享一些Linux网络优化的笔记,内容很浅,可以用作入门博文内容结合《Linux性能优化》读书笔记整理涉及内容包括常用的优化工具(mii-tool,ethtool,ifconfig,i...

国产操作系统- Veket Linux(国产操作系统之光银河麒麟阅读理解)

VeketLinux是一个随身的可装在U盘的Linux操作系统。主要面向桌面用户。它的设计重点是提供简单易用且稳定的操作系统,同时保持更新和开发。它具有强大的功能集和广泛的用户基础,可满足...

AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术

IT之家5月21日消息,科技媒体linuxiac昨日(5月20日)发布博文,报道称代号为SageMargay的AlmaLinux9.6发行版已上线,距上一版本9.5发...

跟老韩学Linux运维架构师系列,vim与view的基本使用

下面是vim和view的10个实例:用vim打开一个新文件:vimnewfile.txt这个命令将会在vim编辑器中打开一个新文件。在vim中移动光标:使用方向键或h、j、k、l键来移动光标。在v...

malloc底层原理剖析——ptmalloc内存池

malloc底层为什么是内存池malloc大家都用过,其是库函数。我们都知道库函数在不同的操作系统中其实执行的是系统调用,那么malloc在Linux上执行的是哪个系统调用呢?brk()和mmap()...

Zen 6架构首秀Linux,AMD加速下一代处理器布局

IT之家5月15日消息,科技媒体Phoronix昨日(5月14日)发布博文,报道称AMD已经开始为下一代“Zen6”处理器做准备,已为该构架向Linux内核提交了首个补丁,...

为何越来越多企业转向安卓/Linux工业平板电脑?答案在这里

在工业领域,设备的稳定性至关重要,尤其是工业平板电脑,常年运行在高温、粉尘、潮湿等复杂环境下,一旦系统崩溃或者卡顿,可能会影响整个生产流程。那么,为什么越来越多的企业选择安卓/Linux工业平板电脑,...

从3ms到0.8ms:ARM+Linux如何重塑工业控制实时性标杆

在智能制造领域,产线控制系统对实时性的要求越来越高。根据行业调研数据,超过65%的工业现场出现过因系统响应延迟导致的故障停机,平均每次停机造成的直接损失高达2-8万元。传统x86架构搭配Windows...

看Linux如何&quot;挖坑种树&quot;

写在前面,有人看我的Linux文章说技术难度不深,笔者不是不想写深,笔者是觉得Linux难就难在入门,入门之后你就知道如何上网查询你所要要解决的Linux需求。如果你已入门,此文已对你无用,请略过此...

AlmaLinux 9.6 发布,新增功能亮点纷呈!

距离上一版本AlmaLinux9.5发布六个月后,基于5.14内核的AlmaLinux正式宣布其企业级Linux发行版的9.x系列第六个更新——AlmaLinux9.6(Sag...