假设某些文件“ Any File.pdf”位于“废纸(”中(又名~/.Trash
)。
如何确定其原始位置?
通过“原始位置”我的意思是哪里文件将被移动到文件夹,如果一个人申请“放回”命令把它(但没有真正这样做)?(请参见下图。)
(我曾希望可以通过在文件上运行“获取信息”来获得此信息,但我在那里找不到。)
假设某些文件“ Any File.pdf”位于“废纸(”中(又名~/.Trash
)。
如何确定其原始位置?
通过“原始位置”我的意思是哪里文件将被移动到文件夹,如果一个人申请“放回”命令把它(但没有真正这样做)?(请参见下图。)
(我曾希望可以通过在文件上运行“获取信息”来获得此信息,但我在那里找不到。)
Answers:
包含文件原始位置的数据在放入“ 废纸rash”之前保留在〜/ .Trash文件夹中的.DS_Store文件中。
由于垃圾箱文件夹是隐藏的,因此通常无法使用finder应用程序找到它。查找此文件的最简单方法是使用终端并输入以下命令。
$cd ~/.Trash
$open -e .DS_Store
这将在TextEdit中打开文件。从那里,您应该能够通过文件名和原始路径快速搜索文件。
.DS_Store中的文件似乎遵循以下模式:
FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE
注意添加空格只是为了提高可读性。
有关原始位置的信息存储在DS_Store文件中。在旧版的OS X中,它以纯文本格式存储,现在以二进制格式存储。Apple并未记录这些格式,但是Wim L创建了一个可以读取它的工具。
该工具是用Perl编写的,Mac::Finder::DSStore
项目提供了用于读写.DS_Store
macOS生成的文件的例程。
根据最初的提交,以上工具基于Mark Mitrovai的工作加上作者自己的调查。
使用examples/dsstore_dump.pl
将尝试以更易于理解的格式转储存储文件的记录。
用法示例:
$ perl dsstore_dump.pl ~/.Trash/.DS_Store
&makeEntries("foo.png",
ptbL => "Users/username/Desktop/",
ptbN => "foo.png"
),
在http://ponderthebits.com/2017/01/mac-dumpster-diving-identification-deleted-file-references-in-the-trash-ds_store-files-part-中有大量的文章和一些更简单的解决方案1 /
包括此终端一线将.DS_Store
文件转换为(大部分)文本:
xxd -p <path/to/.DS_Store> | sed 's/00//g' | tr -d '\n' | sed 's/\([0-9A-F]\{2\}\)/0x\1 /g' | xxd -r -p | strings | sed 's/ptb[LN]ustr//g'
“放回”文件,使用搜索功能搜索文件,找到文件后,右键单击它,然后选择“打开附件文件夹”