如何在Linux操作系统中恢复原本的文件 (linux回复原先的文件)

Linux是广泛使用的操作系统之一,其安全、稳定的特性广受用户欢迎,但是在使用Linux过程中,有时不可避免会遇到误删或误操作导致文件丢失的情况。为此,本篇文章将介绍。

一、文件丢失的原因

Linux的文件系统比较复杂,整个文件的删除是可逆的过程,通常情况下,删除操作并不删掉被删除文件的所有数据,而是简单地将原本位置的inode表项标记为可用。因此,如果你安排了足够的时间,可以尝试使用一些工具恢复已删除的文件,而不必再次编写它们。

二、恢复文件的方法

1. 使用命令行工具

对于Linux操作系统来说,最常见的文件恢复工具是”undelete”和”debugfs”。”undelete”明确用于恢复”rm”命令所删除的文件,这个命令可能不是所有Linux发行版中的默认。如果您使用的是没有”undelete”的发行版,则可以使用”debugfs”。它与其他工具相比具有更高的复杂性,因此必须小心使用。

使用”undelete”命令恢复文件:

按照以下步骤安装undelete:

“`sudo aptitude install bsdgames“`

“`

如果以上命令安装不了,请使用

sudo aptitude install bsdmnutils

“`

安装好后,使用”undelete”命令即可恢复已删除的文件。

“`undelete filename“`

但是undelete仅支持”ext2″和”ext3″文件系统,需要重复使用命令,使情况变得更加混乱。

使用”debugfs”命令恢复文件:

debugfs是一个强大的命令行工具,可以让你直接解除文件系统的结构并使用它来查找操作系统所遗留下来的所有非可见信息。通过在命令行中输入以下命令,我们就可以处理标记为已删除的文件。

“`cd /mnt/mydisk“`

“`debugfs“`

“`debugfs:lsdel“`

该命令显示了一个列表,其中包含已删除的所有inode的头信息以及所有要恢复的文件。你选择要恢复哪些文件,然后使用”debugfs”命令中的如下代码并将文件保存到其他位置。

“`debugfs -r -s filename /tmp/filename“`

2. 使用图形界面工具

如果你不想使用命令行工具,也可以尝试使用一些图形界面工具,例如”TestDisk”和”PhotoRec”。这些工具是由”CGSecurity”团队维护的,并在GNU通用公共许可证下发布。

使用”TestDisk”恢复文件:

TestDisk是一种基于命令行和图形用户界面的强大工具,用于恢复损坏、格式化的或损坏的驱动器、分区、引导记录、MFT、FAT表项等。TestDisk允许您查看并恢复删除的文件。

“`$ sudo apt-get install testdisk“`

1. 启动TestDisk,并按Enter进入“Create a new log file”选项。

2. 选择所需的磁盘,然后按Enter以继续。

3. 选择磁盘分区类型,并按Enter,如逻辑分区、扩展分区、EFI GPT等。

4. 选择分区所在的奇偶数,并按Enter,如1或2等。

5. 选择“Analyse”并按Enter以对所选磁盘进行分析。

6. 在进行分析后,您可以使用“undelete”命令来查找和恢复已删除的文件。

使用”PhotoRec”恢复文件:

PhotoRec支持各种文件系统,包括FAT、NTFS、ext3和ext4等。它可用于恢复包括JPEG、ODF、DOC、PDF等在内的各种文件类型。该软件可以自动搜索整个驱动器,以查找已删除文件的特征并恢复它们。要使用PhotoRec,请依照以下步骤操作:

1. 启动PhotoRec并选择磁盘分区。

2. 选择您希望恢复文件存储的位置,可以是其他驱动器、USB驱动器、CD / DVD或网络驱动器中。

3. 设置文件类型,包括图像、ZIP / RAR压缩文件、文档、视频等。

4. 点击”搜索”并等待其搜索完全后,可以按任何键停止搜索和恢复。

三、保护文件的方法

1. 定期备份

对于任何类型的数据,备份都是保护文件安全的更佳途径。在Linux中,可以使用rsync、tar、cron等软件定期备份重要的文件和目录。

2. 使用恢复性文件系统

Recovery-friendly file system(ReFS)是一种可以自动检测文件系统错误并重新生成文件索引的文件系统。ReFS能够检测到已损坏的文件,清楚地标识无法访问的坏道,并使用另一个副本进行代替。

3. 防火墙与安全软件

Linux防火墙与安全软件可以阻止目标软件攻击,有效保护之前备份的文件。

误删、误操作导致文件丢失是正常现象,如果追根究底,文件并不是真正消失了。在Linux操作系统中,有多种方法可以恢复已经丢失的文件,并存在大量易用工具及方法。不过,预防胜过治疗,定期进行文件备份,同时使用防火墙与安全软件,也是保护重要文件安全的好习惯。

相关问题拓展阅读:

linux系统删除文件如何恢复

您好,方法

1、执行命令“cd /home”进入服务器根目录home;

2、执行命令“ touch demo.txt”创建一个演示文稿;

3、执行命令“ rm -rf demo.txt ”删除该文件;

4、执行命令“ debugfs ”运用系统自带恢复工具debugfs来修复;

5、额外开一个xshell,执行命令“ df /home/ ”打开刚刚被删除文件所在尘谈分区;

6、执行命令“ open /dev/mapper/vg_root-lv_root ”查看目录分区;

7、执行命令“ ls -d /home ”显示被删除文件所在目录;

8、执行命令“胡滚 logdump -i ”查找文件所在区块号;

9、记住上图block后面的数值并执行命令“ quit ”退出debugfs;

10、执行命令“ dd if=/dev/mapper/vg_root-lv_root of=/home/demo.txt bs=640 count=1 skip=1089 ”恢复文件操作;

11、bs与上图offset值一致,skip与block值一致;

12、执行命令“ ls ”可以看到文件demo.txt被裤兄余删除后又重新找回来了,恢复成功。

linux文件删除恢复文件怎么恢复

Linux ext2文件系统下恢复误删的文件

一、文件误删

如上图可得到(1)键喊冲/dev/sdb2挂载到/recover目录,且/dev/sdb2使用的是ext3 filesystem(2)/dev/sdb1挂载到/software目录,且/dev/sdb1使用的是ext2 filesystem

如上图可得到:/software目录中有一个文件grub.conf

如上图可得到:/software目录中的文件grub.conf被删除

二、找回文件渗乱

由于目录/software中的grub.conf文件已被删除,那么应该怎么找回该文件呢?由于/dev/sdb1分区使用的是ext2 filesystem,稿歼所以我们可以使用工具:debugfs,来找回文件注意:debugfs是linux系统自带的一个文件恢复工具,它可以恢复ext2文件系统的文件,但不能恢复ext3文件系统的文件

之一步:将要找回的文件所在的分区重新挂载成只读(因为这样比较安全,可以防止因新的文件写入该分区而导致无法找回grub.conf文件)# mount -n -o remount,ro /dev/sdb1注意:如果不能重新挂载,那么一定有用户正在使用该分区中的文件,我们可以使用指令:fuser -m -v /dev/sdb1来查看当前哪个用户正在使用该分区中的文件,然后使用fuser -k -m -v /dev/sdb1来杀死用户使用该分区的任何进程

第二步:使用debugfs工具恢复文件

linux回复原先的文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux回复原先的文件,如何在Linux操作系统中恢复原本的文件,linux系统删除文件如何恢复,linux文件删除恢复文件怎么恢复的信息别忘了在本站进行查找喔。


数据运维技术 » 如何在Linux操作系统中恢复原本的文件 (linux回复原先的文件)