你曾经删除过一个文件,并立即后悔吗?你需要它回来,而且要快!但如果文件太新,还没有备份呢?幸运的是,你能做些什么。
使用rm命令并发现自己带着深深的遗憾盯着一个终端窗口,这太容易了。通配符的一个小错误,你可以消除很多比你想要的。
默认的Linux文件系统ext4使用inode保存每个文件的数据,并使用inode表跟踪inode。inode包含有关文件的元数据,例如文件名、文件所有者、权限等。
它还包含指向文件的硬链接的入口点。每个文件至少有一个硬链接。每次创建新的硬链接时,硬链接计数都会增加一个。每次删除硬链接时,inode中的硬链接计数都会减少一个。
删除inode标记为未使用(并准备好重用)的文件时,最后一个硬链接将被删除。发生这种情况时,该文件将不会出现在目录列表中,并且无法使用或访问。
但是,构成文件内容的数据仍然存在于硬盘上。但是,如果您可以修补inode,使其包含正确的信息,则文件将被还原。当然,这只有在构成硬盘上文件的数据保持完整并且没有被覆盖的情况下才能起作用。
或者,您可以创建一个新inode,从旧inode复制幸存的数据,然后替换丢失的位。
这些都是不寻常的活动。通常,当你错误地删除一个文件时,它是在最糟糕的时刻。总是在你需要那个文件的时候,你现在就需要它。你没有时间和部门编辑器和其他实用程序打交道。另外,如果它是您刚刚创建的文件,它可能还没有备份,所以这些也不会对您有帮助。
这就是testdisk的用武之地。它易于使用,不需要对文件系统有详细、低级的了解。让我们看看如何使用它!
相关:你想知道的关于Linux上inodes的一切
要在Ubuntu上安装testdisk,请使用以下命令:
sudo apt-get install testdisk在Fedora上,您需要键入:
sudo dnf install testdisk在曼加罗,你必须使用吃豆人:
sudo pacman -Sy testdisk尽管testdisk在终端窗口中运行,但它有一个基本的接口。使用箭头键进行导航,然后按Enter键进行选择。为了保持整洁,最好为恢复的文件创建一个目录。
我们键入以下内容为还原的文件创建一个名为“restored”的目录:
mkdir restored我们键入以下内容以切换到新目录并从那里启动testdisk:
cd restored/我们必须将sudo与testdisk一起使用,因此键入以下内容:
sudo testdisktestdisk提出的第一个问题是关于日志记录。它可以创建新的日志文件,使用现有的日志文件,或者根本不记录任何内容。选择哪个选项无关紧要;它不会影响testdisk的操作方式。
只需按Enter键即可接受突出显示的选项并创建一个新的日志文件。它将在启动testdisk的目录中创建。当您做出选择时,testdisk会询问您要在哪个硬盘上运行文件系统。
它列出了可以找到的硬盘,以及squashfs“/dev/loop”文件。对于从快照安装的每个应用程序,都有一个。它们是只读的,所以您不应该设法从这些文件系统中删除任何内容。
此测试计算机中只有一个物理硬盘驱动器,因此我们使用向下箭头突出显示“/dev/sda”选项。然后我们用右箭头选择“继续”,然后按回车键。
testdisk还需要知道分区类型。它显示一个选项菜单,以及在底部自动检测到的分区类型。
除非有充分的理由不这样做,否则突出显示自动检测到的分区类型,然后按Enter键。
在出现的功能菜单中,突出显示“Advanced”,然后按Enter键。
将出现分区选择菜单。
我们要查找的文件位于Linux文件系统分区中。我们的硬盘上只有一个Linux分区,但您可能有更多。
选择文件所在的分区,使用左右箭头键选择“列表”,然后按Enter键。将出现文件选择菜单。
使用上下箭头或PgUp和PgDn键浏览文件和目录列表。按右箭头或Enter键输入目录,按左箭头或Esc键退出目录。
我们在找戴夫的档案。所有用户帐户的文件都在“Home”目录中。因此,我们突出显示“Home”目录,然后可以按向右箭头或回车键进入该目录。
然后为我们列出所有用户帐户。我们高亮显示dave,然后按向右箭头或回车键进入该目录。
我们现在可以看到属于dave帐户的文件了。红色的条目已被删除。我们在文件和目录中导航,直到找到要恢复的文件。
要恢复文件,只需突出显示它,然后按c(小写)。
显示将更改并告诉您为恢复的文件选择目标。因为我们创建了一个名为“Restored”的目录并从中启动testdisk,所以列表(.)中的第一个条目就是这个目录。要将这个删除的文件恢复到那个目录,我们按C(大写)。
执行此操作后,将返回到“文件选择”显示。如果要恢复更多文件,只需重复此过程。突出显示已删除的文件,按c(小写)复制该文件,然后按c(大写)恢复该文件。
还原文件后,目录树将重建到其原始位置,这很有用,因为它会提醒您原始文件在硬盘上的位置。这意味着如果你需要把它复制回去,你知道把它放在哪里。
如果您从不同的文件系统位置恢复了多个恰好具有相同文件名的文件,那么它们无论如何都需要单独存储。
您可以键入以下内容以查看“已还原”目录的内容:
ls如果您要求testdisk创建日志文件,它将位于“还原”目录中。因为我们恢复的文件位于“/home/dave”中,所以它们被复制到我们的“还原”目录中,嵌套在同名目录中。
我们可以用cd换成复制的“dave”目录。确保在要更改为本地“home”而不是系统“/home”的路径上不包含前导正斜杠(/)
我们键入以下内容:
cd home/dave恢复的文件位于该目录中,因此我们键入:
ls让我们使用-l(长列表)选项来再次查看恢复的文件:
长征-长征
因为我们使用sudo启动testdisk,所以恢复的文件以“root”作为所有者进行了还原。我们可以使用chown将所有者改回“dave”:
sudo chown dave.dave *我们键入以下内容以确保已恢复正确的所有权:
ls -l当你找回了一份重要的文件后,那种如释重负的感觉,就在刚才,感觉到了无法挽回的失落,这是你永远都会感激的。
这就是为什么testdisk是如此方便的实用工具。当你通过菜单,可以开始恢复文件,很容易陷入一个节奏的突出显示,c,c,重复。
... 下载并运行TestDisk。 选择创建新日志文件。 从列表中选择硬盘驱动器。 设置驱动器的分区表类型。 选择“分析”。 ...
... TestDisk和PhotoRec:从技术上讲,这是两个独立的程序。然而,他们捆绑在一起,因为他们严重依赖对方。PhotoRec可以恢复文件(包括200多种文件格式),TestDisk可以恢复磁盘...
当需要在Linux上擦除、备份或恢复数据时,可以选择许多应用程序。GParted是最有效的选择之一。磁盘是一个更现代的替代品,在GNOME桌面环境中看起来很不错。但无论您运行哪种Linux操作系统,都有一个选项始终有效——dd。 ...
手动升级Linux内核并不是一件简单的事——它需要相当多的知识。我们之前已经讨论过如何做到这一点,但是如果您希望不必大惊小怪地获得最新和最棒的,并且您正在运行Ubuntu,那么您可能会喜欢一种更自动化的Ukuu形式的解决...
你想加密重要的文件,而不是你的Linux系统的整个硬盘驱动器吗?如果是,我们推荐gocryptfs。你会得到一个目录,基本上,加密和解密你存储的所有东西。 gocryptfs提供数据泄露保护 隐私是个大新闻。几乎每个星期都会有一个组...
...旁边,这将非常有用。 添加或删除efi固件密码 相关:如何用BIOS或UEFI密码保护您的计算机 您还可以向Mac添加固件密码。这与Windows或Linux PC上的BIOS密码或UEFI密码类似。单击屏幕顶部栏上的实用程序菜单,然后选择固件密码实用...
Chromebook不仅仅是一个浏览器,它们是Linux笔记本电脑。你可以很容易地在Chrome操作系统旁边安装一个完整的Linux桌面,并通过一个热键在两者之间即时切换,无需重新启动。 我们已经用三星系列3 Chromebook、原始Chromebook像素和...
如果要在Linux中使用命令行删除另一个目录中的多个子目录,通常必须多次使用rm命令。然而,有一种更快的方法可以做到这一点。 假设我们有一个名为htg的目录,其中有五个子目录,我们想删除其中的三个子目录。在正常情况...