我不小心删除了 MAC 上网站文件夹下的文件
/Library/Server/Documents/mysite
除了我最近创建的大约 30 个文件外,我在远程服务器上有一份文件夹的副本。这些新文件大部分是.php
、、.js
和.html
。
此外,大多数这些文件都具有某些字符串somestring
,以及与给定字符串相关的字符串,例如somestring_plusotherstring
也许用 dd 或者其他东西我可以重建这些文件?
一直在尝试第三方工具,例如EaseUS
,DiskDrill
但他们似乎没有在/Library
.他们找到了大量的东西,但在documents
结果列表中没有显示任何php
文件js
。
我目前正在等待dd
将 MAC 系统驱动器逐字节复制到名为backup.data
.之后,希望能有一些清晰的康复之路。
不管怎样,希望得到好的建议!
谢谢,布莱恩
答案1
(抱歉,我没有 Mac/OSX 经验。)在 Linux 中,您可以使用 .filter 从原始数据中过滤 [ascii] 文本strings
。
strings -w disk_or_file | grep 'uniquestring'
disk_or_file
应该是包含文本文件的原始数据,并且grep
应该查找仅出现在您要查找的文件中的唯一字符串。
您可以添加-C 100
到 grep 以在该唯一字符串之前/之后输出 100 行。如果您的文件超过 100 行,请相应地调整数字。
您还可以添加-t d
以strings
输出找到的字符串的字节位置。这样您就可以使用十六进制编辑器或 dd 或其他工具直接检查该位置周围的数据,而无需滤光镜strings
。 (如果您的文件不是 ascii,这可能很重要。)
如果您的唯一字符串至少有 8 个字符长,您可以添加-n 8
tostrings
来阻止它打印较短的字符串。如果您的唯一字符串较长,请相应地调整此数字(有助于性能)。
文件名以及确切的文件边界必须手动恢复。与其他文件雕刻方法一样,这仅恢复文件内容。
如果该文件未被复制而是通过许多中间“保存文件”步骤进行编辑,则也可能会遇到文件的不完整版本。如果可能,请选择唯一的字符串作为您在后续版本中添加的函数名称之一。