Удаление одного файла из корзины в 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 или ветвь ресурса фактического файла. В любом случае он не будет накапливаться или накапливать слишком много.