user3215 Asked: 2010-10-13 22:37:58 +0800 CST2010-10-13 22:37:58 +0800 CST 2010-10-13 22:37:58 +0800 CST 用 rm 删除的文件/目录可以恢复吗? 772 rm是否可以使用和恢复从终端删除的文件/目录rm -r?如果文件从图形界面中删除,它可以从垃圾箱中恢复,但是如果使用 rm 实用程序删除了文件,如何恢复? data-recovery rm 8 个回答 Voted enzotib 2010-10-13T23:08:02+08:002010-10-13T23:08:02+08:00 为此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可从包垃圾-cli 安装(然后查看他们的手册页)。 最后一点,不建议为超级用户使用这样的别名,因为它会干扰系统操作。 evgeny 2010-10-13T22:47:45+08:002010-10-13T22:47:45+08:00 从终端删除它会永久删除它 - 恢复非常困难,有时甚至是不可能的。 如果您的分区类型是ext3(使用 进行检查System->Administration->Disk Utility),请查看ext3undel。 如果不是(如果您使用默认设置安装了 Ubuntu),请尝试该extundelete程序。 但不能保证你会恢复任何东西。 H.-Dirk Schmitt 2013-03-10T12:36:04+08:002013-03-10T12:36:04+08:00 您正在寻找:extundelete -用于从 ext3/ext4 分区恢复已删除文件的实用程序 要找到这样的包,您可以尝试:apt-cache search undelete 要使用该实用程序,请安装它:sudo apt-get install extundelete 安装后调用man extundelete并仔细研究。 Reuben L. 2014-02-21T22:37:49+08:002014-02-21T22:37:49+08:00 作为替代方案,如果您具体知道它是什么类型的文件... sudo apt-get install foremost 现在打开/etc/foremost.conf,你会看到一长串被注释掉的行。如果您的文件类型存在,请取消注释该行(您可能还想删除不相关的行)。 如果您的文件类型不存在,请添加您自己的行。假设我想恢复一个 .css 文件,我知道它大约 40K。我可以添加这个: css n 40000 Theme\sName: Plugin\sFixes 第 2 列是区分大小写,第 3 列是大小上限,第 4 列是文件的开始方式(记得使用转义字符),最后一列是文件通常的结束方式。 使用以下命令(相应地编辑磁盘。可以用df命令检查) foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output 接下来会发生的是,最重要的将创建一个名为 output 的文件夹并将所有恢复的数据(在这种情况下)转储到该文件夹中。从那里您可以使用diff或meld比较恢复的“文件”,看看哪个是最新的。 John Strood 2016-10-11T03:04:26+08:002016-10-11T03:04:26+08:00 用最抽象的术语来说,每当您在图形界面上删除一个文件时,该文件都会“移动”到一个特殊的“缓冲区”,一个名为trash. 您可以在您的home目录中找到它,~/.local/share/Trash/. 从此目录中“删除”的文件将被真正删除。rm当您在文件上使用时,会发生这种真正的删除。 恢复已删除的文件非常困难。文件系统中的文件表示为 B 树等上的节点。当使用 删除文件时rm,树会更新,硬链接的数量会减少,目录列表中的相应条目也会被删除。如果您的文件有硬链接,那么您的文件绝对安全。你可以做一个file / -samefile filename. 如果您还记得它的 inode 编号,则可以搜索该文件(这几乎不是这种情况)。 另一种情况是上述可能性都不成立。每当您rm创建文件时,都会删除目录上的文件条目,从而将硬链接的数量减少一个。如果硬链接的数量下降到零,那么指向 inode 上文件的指针就会被删除,或者被标记为删除。无论哪种方式,您的文件“仍然”驻留在硬盘上。该文件实际上仅在随后重新安装时才从硬盘中删除。在这种情况下,文件恢复非常困难,需要遍历文件系统树和代表实际磁盘块位置的 inode。有一个我听说过但从未使用过的流行工具,叫做extundelete. 虽然不能保证,但值得一试。 一旦您成功或没有恢复您的文件,请尽快进行定期备份。这在 Ubuntu 上非常简单。 Stéphane 2010-10-13T22:44:25+08:002010-10-13T22:44:25+08:00 抱歉,使用“rm”和“rm -f”从命令行删除的文件绕过了 Gnome 桌面上的“垃圾箱”。 您可能还想询问是否有任何 extfs “取消删除”工具,例如用于 FAT 和 NTFS 的工具。(我不知道,但如果没有,我会感到惊讶。) Natesh bhat 2018-05-15T17:40:48+08:002018-05-15T17:40:48+08:00 使用“ rm-trash ”实用程序处理将它们放入垃圾箱以供以后检索,并支持“rm”命令的所有选项。 sudo add-apt-repository ppa:nateshmbhat/rm-trash sudo apt-get update sudo apt-get install rm-trash “rm垃圾”是 用于代替 rm 处理 rm 可以采取的所有选项 处理已在垃圾箱中的文件的文件名冲突 自动处理一些权限问题 如果 rm 从任何其他脚本调用或间接调用,则系统会自动使用“rm”命令 显示适当的错误消息,例如出现在rm m3asmi 2020-03-17T14:29:13+08:002020-03-17T14:29:13+08:00 只需在主文件夹中的文件中添加别名.bash_alias或.bash_profile alias rm='gio trash'
为此
trash-cli
,我在我的~/.bashrc
并且
trash-cli
可以通过以下命令安装该软件包:sudo apt-get install trash-cli
.您删除的文件将被移至垃圾箱,您可以在 nautilus 垃圾箱中查看它们。
您始终可以
rm
使用以下方法之一访问真实数据:还有一些命令可以从终端访问垃圾箱
trash-list
,,restore-trash
(或trash-restore
),trash-empty
可从包垃圾-cli 安装(然后查看他们的手册页)。最后一点,不建议为超级用户使用这样的别名,因为它会干扰系统操作。
从终端删除它会永久删除它 - 恢复非常困难,有时甚至是不可能的。
如果您的分区类型是
ext3
(使用 进行检查System->Administration->Disk Utility
),请查看ext3undel。如果不是(如果您使用默认设置安装了 Ubuntu),请尝试该
extundelete
程序。但不能保证你会恢复任何东西。
您正在寻找:extundelete -用于从 ext3/ext4 分区恢复已删除文件的实用程序
要找到这样的包,您可以尝试:
apt-cache search undelete
要使用该实用程序,请安装它:
sudo apt-get install extundelete
安装后调用
man extundelete
并仔细研究。作为替代方案,如果您具体知道它是什么类型的文件...
现在打开
/etc/foremost.conf
,你会看到一长串被注释掉的行。如果您的文件类型存在,请取消注释该行(您可能还想删除不相关的行)。如果您的文件类型不存在,请添加您自己的行。假设我想恢复一个 .css 文件,我知道它大约 40K。我可以添加这个:
第 2 列是区分大小写,第 3 列是大小上限,第 4 列是文件的开始方式(记得使用转义字符),最后一列是文件通常的结束方式。
使用以下命令(相应地编辑磁盘。可以用
df
命令检查)接下来会发生的是,最重要的将创建一个名为 output 的文件夹并将所有恢复的数据(在这种情况下)转储到该文件夹中。从那里您可以使用
diff
或meld
比较恢复的“文件”,看看哪个是最新的。用最抽象的术语来说,每当您在图形界面上删除一个文件时,该文件都会“移动”到一个特殊的“缓冲区”,一个名为
trash
. 您可以在您的home
目录中找到它,~/.local/share/Trash/
. 从此目录中“删除”的文件将被真正删除。rm
当您在文件上使用时,会发生这种真正的删除。恢复已删除的文件非常困难。文件系统中的文件表示为 B 树等上的节点。当使用 删除文件时
rm
,树会更新,硬链接的数量会减少,目录列表中的相应条目也会被删除。如果您的文件有硬链接,那么您的文件绝对安全。你可以做一个file / -samefile filename
. 如果您还记得它的 inode 编号,则可以搜索该文件(这几乎不是这种情况)。另一种情况是上述可能性都不成立。每当您
rm
创建文件时,都会删除目录上的文件条目,从而将硬链接的数量减少一个。如果硬链接的数量下降到零,那么指向 inode 上文件的指针就会被删除,或者被标记为删除。无论哪种方式,您的文件“仍然”驻留在硬盘上。该文件实际上仅在随后重新安装时才从硬盘中删除。在这种情况下,文件恢复非常困难,需要遍历文件系统树和代表实际磁盘块位置的 inode。有一个我听说过但从未使用过的流行工具,叫做extundelete
. 虽然不能保证,但值得一试。一旦您成功或没有恢复您的文件,请尽快进行定期备份。这在 Ubuntu 上非常简单。
抱歉,使用“rm”和“rm -f”从命令行删除的文件绕过了 Gnome 桌面上的“垃圾箱”。
您可能还想询问是否有任何 extfs “取消删除”工具,例如用于 FAT 和 NTFS 的工具。(我不知道,但如果没有,我会感到惊讶。)
“rm垃圾”是
rm
只需在主文件夹中的文件中添加别名
.bash_alias
或.bash_profile