在早期版本中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 不会被删除,并且会随着时间的推移而略微变大。
因此,您有时应该删除整个废纸篓。