Удаление одного файла из корзины в Mac OS X Snow Leopard

В более ранних версиях Mac OS X можно было удалить файл из корзины, открыв окно терминала и набрав rm ~/.Trash/file_i_want_to_delete, Смотрите этот предыдущий пост.

В отличие от более ранних версий в Mac OS X Snow Leopard, можно "вернуть" файл из корзины в исходный каталог.

Будет ли rm трюк все еще работает? Тестирование показывает, что он действительно удаляет файл, но что происходит с информацией "положить обратно", которая указывает каталог, из которого был удален файл?

3 ответа

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

Это все еще не показывает ресурс-форк здесь.

Перейдите к файлу.DS_Store в папке.Trash: установите hex-редактор (например: http://ridiculousfish.com/hexfiend/)

Положить test.txt подать обратно. (и закройте окно поиска с помощью папки для мусора.) Откройте hex-редактор из терминала с файлом.DS_Store:

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

Как вы можете видеть, он почти пуст (отключите опцию показа шестнадцатеричного числа.) Закройте hex-редактор.

Мусор test.txt и откройте файл.DS_Store в hex-редакторе. Теперь вы видите исходный путь к файлу и текущее имя файла в папке корзины.

Таким образом, информация о возврате помещается в файл.DS_Store.

Информация "положить обратно" хранится в файле.DS_Store в папке "Корзина".

Каждый раз, когда вы помещаете другой файл в корзину, Mac OS X обновляет файл.DS_Store.

Если вы удалите файл вручную (с помощью команды rm), Mac OS X не обновит файл.DS_Store в Корзине.

Вы все еще можете вручную удалить файлы из Корзины, но.DS_Store не будет удален и со временем будет заметно больше.
Поэтому иногда следует удалять дыру в мусоре.

Я полагаю, что эта информация хранится где-то в тексте ссылки на файл, будь то файл .DS_Store или ветвь ресурса фактического файла. В любом случае он не будет накапливаться или накапливать слишком много.

Другие вопросы по тегам