从 Mac OS X Snow Leopard 中的垃圾中删除单个文件

从 Mac OS X Snow Leopard 中的垃圾中删除单个文件

在早期版本中Mac OS X可以通过打开终端窗口并输入 来从垃圾箱中删除文件rm ~/.Trash/file_i_want_to_delete。请参阅之前的帖子。

与 Mac OS X Snow Leopard 中的早期版本不同,用户可以将文件从垃圾箱“放回”其原始目录。

这个rm技巧还能奏效吗?测试表明它确实删除了文件,但指定文件被删除的目录的“放回”信息会发生什么?

答案1

Mac OS X 未更新资源分支:

如果您在桌面上创建了一个测试文件(纯文本文件),test.txt请进入终端并执行以下命令来检查该文件是否具有资源分支:

cd ~/Desktop
ls -l test.txt
ls -l test.txt/rsrc

这列出了文本文件的大小,其次是资源分支 (rsrc) 的大小。如果此 rsrc 大小为 0,则表示该文件没有可用的资源分支。如果一切正常,则表示没有资源分支。

将桌面上的文件放入“废纸篓”文件夹。然后在终端中执行以下操作:

cd ~/.Trash
ls -l test.txt/rsrc

这里仍然没有显示资源分叉。

转到 .Trash 文件夹中的 .DS_Store 文件: 安装十六进制编辑器(例如:http://ridiculousfish.com/hexfiend/

test.txt文件放回去。(并关闭带有垃圾文件夹的查找器窗口。)使用 .DS_Store 文件从终端打开十六进制编辑器:

cd ~/.Trash
/Applications/Hex\ Fiend.app/Contents/MacOS/Hex\ Fiend .DS_Store 

正如您所见,它几乎是空的(关闭显示十六进制的选项。)关闭十六进制编辑器。

删除该test.txt文件并在十六进制编辑器中重新打开 .DS_Store 文件。现在您可以在垃圾文件夹中看到该文件的原始路径和当前文件名。

因此,放回信息确实被放入了 .DS_Store 文件中。

答案2

“放回”的信息存储在垃圾文件夹中的 .DS_Store 文件中。

每次您将另一个文件放入废纸篓时,Mac OS X 都会更新 .DS_Store 文件。

如果您手动删除文件(使用R M命令),Mac OS X 不会更新废纸篓中的 .DS_Store 文件。

您仍然可以手动从废纸篓中删除文件,但 .DS_Store 不会被删除,并且会随着时间的推移而略微变大。
因此,您有时应该删除整个废纸篓。

答案3

我的猜测这些信息存储在文件中的某个地方链接文本,即.DS_Store文件或资源分叉实际文件。无论哪种方式,它都不会累积或堆积太多。

相关内容