是否可以使用rm
和来恢复从终端删除的文件/目录rm -r
?如果文件是从图形界面删除的,则可以从垃圾中恢复,但如果文件是使用 rm 实用程序删除的,该如何恢复?
答案1
为此,我trash-cli
在我的~/.bashrc
alias rm=trash
trash-cli
可以使用以下命令安装该包: sudo apt-get install trash-cli
。
您删除的文件将被移至垃圾箱,您可以在 nautilus 垃圾箱中看到它们。
rm
您始终可以使用以下方法之一来访问真实值:
command rm something
'rm' something
\rm something
还有一些命令可以从终端访问垃圾箱,,trash-list
(restore-trash
或trash-restore
),trash-empty
可以从 trash-cli 包安装(然后查看它们的手册页)。
最后要注意的是,不建议超级用户使用这样的别名,因为它会干扰系统操作。
答案2
从终端删除它会永久删除它 - 恢复非常困难,有时甚至是不可能的。
如果您的分区类型是ext3
(使用 检查System->Administration->Disk Utility
),那么请查看ext3undel。
如果不是(如果你安装了 Ubuntu默认设置),尝试该extundelete
程序。
但这并不保证您一定能恢复任何东西。
答案3
您正在寻找:删除-用于从 ext3/ext4 分区恢复已删除文件的实用程序
要找到这样的包,您可以尝试:apt-cache search undelete
要使用该实用程序,请安装:sudo apt-get install extundelete
安装后调用man extundelete
并仔细研究。
答案4
用最抽象的术语来说,每当您在图形界面上删除文件时,该文件都会被“移动”到一个特殊的“缓冲区”,即名为的目录trash
。您可以在home
目录中找到它。从此目录中“删除”的文件将被真正删除。当您对文件~/.local/share/Trash/
使用时,就会发生这种真正的删除。rm
恢复已删除的文件极其困难。文件系统中的文件以 B 树或类似结构上的节点表示。使用 删除文件时rm
,树会更新,硬链接数量会减少,目录列表中的相应条目会被删除。如果您的文件有硬链接,则您的文件绝对安全。您可以执行file / -samefile filename
。如果您还记得文件的 inode 编号(这种情况很少见),则可以搜索该文件。
另一种情况是上述所有可能性都不成立。每当您删除rm
一个文件时,目录中的文件条目都会被删除,从而将硬链接数减少一个。如果硬链接数降至零,则指向 inode 上文件的指针将被删除,或标记为已删除。无论哪种情况,您的文件“仍然”驻留在硬盘上。只有在随后重新安装时,文件才会从硬盘上真正删除。在这种情况下恢复文件非常困难,需要遍历文件系统树和代表实际磁盘块位置的 inode。我听说过一种流行的工具,但从未使用过,称为extundelete
。虽然没有保证,但值得一试。
无论你是否成功恢复了文件,都要尽快进行定期备份。在 Ubuntu 上这非常简单。