boe*_*ehj 129 command-line rm trash
最近我不小心rm处理了一组文件,这让我想到这些文件到底在哪里?
也就是说,在使用 GUI 时,删除的文件会进入废纸篓。什么是等价的rm,有没有办法撤消rm命令?
pen*_*359 143
无处,消失,消失。好吧,更具体地说,文件被取消链接。数据仍然位于磁盘上,但其链接已被删除。过去可以检索数据,但现在元数据被清除并且无法恢复。
没有垃圾桶rm,也不应该有。如果您需要垃圾桶,则应使用更高级别的接口。trash-cli在 Ubuntu 上有一个命令行实用程序,但大多数时候使用像 Nautilus 或 Dolphin 这样的 GUI 文件管理器来提供标准的垃圾桶。垃圾桶本身就是标准配置。在 Dolphin 中删除的文件将在 Nautilus 的垃圾箱中可见。
文件通常被移动到某个地方,比如~/.local/share/Trash/files/被丢弃时。rmUNIX/Linux 上的命令类似于delDOS/Windows 上的命令,它也删除文件而不将文件移动到回收站。另一件要意识到的事情是,跨文件系统移动文件(例如从硬盘驱动器到 USB 磁盘)实际上是 1) 文件数据的副本,然后是 2) 取消原始文件的链接。你不希望你的垃圾箱被这些额外的副本填满。
Pis*_*ing 12
对于EXT3 / EXT4,你可以尝试使用恢复工具,如文件extundelete或ext3grep,甚至还要搞乱与低级别结构手动(不是心脏虚弱); 对于许多文件系统,您可以尝试通过某些模式搜索尚未覆盖的块(例如,magicrescue可以搜索 JPEG 标头等)。请注意,这些使用启发式方法从遗留的元数据中恢复文件,因此不能保证完全恢复 - 这更像是最后的机会(因为那些要求文件的一些痕迹保留在日志中,并且块还没有被覆盖)。
因此,出于所有意图和目的,删除的文件rm已经消失了 - 您可以尝试这些工具提供的死灵法术,但不要依赖它:当其他一切都失败时,可以尝试这些工具。最好挖掘出你最新的备份(你一直在做备份,对吧?哦,生活和学习......)。
关于撤销的影响rm:
鉴于大多数文件系统只删除对数据的引用并指示块为空闲,您可以尝试直接从设备中定位您的数据读取。幸运的是,包含您的文件的块尚未被声明用于其他用途。
这假设你有一些相当独特的东西要寻找,你root在系统上有,我猜如果文件系统没有管理,将跨越一个以上文件系统块(可能是 4k)的任何东西拼凑起来可能会非常费力将文件放在连续的块中。
通过在文件系统所在的设备上运行字符串,并使用grep大上下文 ( -C)从这些文件中查找某些内容,我已成功恢复了几个纯文本文件的内容。(在那次事件发生后不久,该公司决定花费一些资源来实施备份)
在 Unix 风格的文件系统(包括 Linux 上)中,文件并不真正“位于”任何特定位置。相反,系统使用硬链接来指向相当于一大块数据的片段。因此,当您创建文件时,您还创建了它的第一个硬链接:实际位于您“保存”文件的位置的硬链接。如果您创建更多的硬链接,那么据系统所知,该文件实际上同时存在于多个位置。
当您“删除”文件时,通常您实际上只是删除了您指定位置存在的硬链接。这就是为什么调用删除文件的系统调用unlink()。在没有留下任何硬链接之前,系统不会真正删除该文件。但一旦最后一个硬链接被破坏,数据也会被破坏。
那么,您删除的文件去了哪里?如果仍然存在硬链接,则它们的文件位于您未删除的硬链接所在的位置。如果没有留下硬链接,文件就会消失。
| 归档时间: |
|
| 查看次数: |
313490 次 |
| 最近记录: |