是否可以使用rm
和还原从终端删除的文件/目录rm -r
。如果从图形界面中删除了文件,则可以从回收站中将其还原,但是如果使用rm实用程序将其删除,该如何恢复呢?
是否可以使用rm
和还原从终端删除的文件/目录rm -r
。如果从图形界面中删除了文件,则可以从回收站中将其还原,但是如果使用rm实用程序将其删除,该如何恢复呢?
Answers:
为此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安装(当时看到自己的男人页)。
最后要注意的是,不建议对超级用户使用这样的别名,因为它会干扰系统操作。
您正在寻找:extundelete - 实用程序从EXT3 / EXT4分区恢复删除的文件
要找到这样的程序包,您可以尝试: apt-cache search undelete
要使用该实用程序,请通过以下方式安装: sudo apt-get install extundelete
安装后调用man extundelete
并仔细研究它。
作为一种替代方法,如果您明确知道文件的类型...
sudo apt-get install foremost
现在打开/etc/foremost.conf
,您将看到一长串注释掉的行。如果文件类型存在,请取消注释该行(您可能还希望删除不相关的行)。
如果文件类型不存在,请添加自己的行。说我想恢复一个.css文件,我知道它大约40K。我可以添加以下内容:
css n 40000 Theme\sName: Plugin\sFixes
第二列是区分大小写的,第三列是大小的上限,第四列是文件的开始方式(请记住使用转义字符),最后一列是文件通常的结束方式。
使用以下命令(相应地编辑磁盘。可以通过df
命令检查)
foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output
接下来将发生的事情是,首先将创建一个名为output的文件夹,并将所有恢复的数据(在这种情况下)转储到该文件夹中。从那里,您可以使用diff
或meld
比较恢复的“文件”,并查看哪个是最新的。
php
源文件。不到2分钟,它们就完美恢复了。在文件中我添加了:rm -fr php/
php
.conf
php n 40000 <?php ?> ASCII
用最抽象的术语来说,每当您在图形界面上删除文件时,该文件都会“移动”到特殊的“缓冲区”(称为目录)中trash
。您可以在home
目录中找到它~/.local/share/Trash/
。从该目录“删除”的文件将被真正删除。当您rm
在文件上使用时,会发生真正的删除。
恢复已删除的文件非常困难。文件系统中的文件表示为B树等上的节点。使用删除文件后rm
,将更新树,减少硬链接的数量,并删除目录列表中的相应条目。如果您的文件有硬链接,那么绝对安全。你可以做一个file / -samefile filename
。如果您还记得文件的inode编号,则可以搜索该文件(事实并非如此)。
另一种情况是上述可能性都不成立。每当您rm
使用文件时,目录上的文件条目都会被删除,从而使硬链接数减少一个。并且,如果硬链接数下降到零,则指向inode上文件的指针将被删除,或被标记为要删除。无论哪种方式,您的文件“仍然”都驻留在硬盘上。实际上,仅在随后的重新安装时才从硬盘上删除文件。此时的文件恢复非常困难,涉及遍历文件系统树和代表实际磁盘块位置的inode。我听说过一种流行的工具,但从未使用过,叫做extundelete
。尽管没有保证,但值得一试。
一旦成功恢复文件或不成功,就急于进行常规备份。在Ubuntu上,这非常简单。