Есть ли способ ограничить размер корзины?

12

Мне просто не хватило места на диске, и у меня в корзине 15 ГБ. Есть ли способ не хранить вещи старше 7 дней или ограничить размер корзины?

Мне нужен способ автоматически держать это под контролем.

Джон Эриксон
источник

Ответы:

12

Корзина - это просто специальная папка (каталог), которую Apple создает и управляет через Finder, чтобы у вас была возможность легко «удалить» элементы (удалив их из корзины) перед полным удалением (Empty Trash). Так как этот механизм является просто каталогом на вашем загрузочном диске, у вас есть все пространство на загрузочном диске, которое вы можете использовать для корзины, если хотите.

Если вам нужна некоторая мера «автоматического удаления» файлов старше 7 дней, вы можете использовать простой скрипт bash:

find ~/.Trash -mtime +7 -exec /bin/rm -rf {} \;

Используя ваш любимый текстовый редактор, вставьте указанную выше строку в новый файл, а затем сохраните файл как empty_trash_older_than_7_days.sh. В терминале обязательно используйте chmodкоманду, чтобы сделать ее исполняемой как таковой:chmod +x /path/to/empty_trash_older_than_7_days.sh

Эта команда, когда выполняется в терминале, найдет все файлы в корзине (только файлы с вашего загрузочного тома - больше на этой минуте), которые старше 7 дней (с момента запуска этой команды) и передают каждый файл в rm -rfкоманде. Так rmкак это команда unix, которая не имеет представления о корзине, она просто удаляет unix, что для нас является настоящим удалением (например, Очистка корзины).

Затем вы можете использовать cron (если вы не знакомы с Cron, посмотрите отличную запись Cron в Википедии ), чтобы настроить повторяющееся выполнение этого скрипта.

Лично я голосую за то, чтобы просто научиться использовать Empty Trashпункт меню каждые несколько минут, дней, недель?

PS Если бы все это unix-ese было слишком пугающим, я бы поспорил, что есть простые Mac-приложения, которые люди написали, чтобы делать именно такие вещи. Надеемся, что кто-то, кто знаком с одним или несколькими из этих типов приложений, может предложить ответ или два в качестве встречного баланса.

Удачи!

PS Я забыл поговорить о томе, не являющемся загрузочным ... Если вы удалите файл с тома, ДРУГОГО, чем ваш загрузочный том, этот файл перейдет в папку .Trash на томе. Например, если у вас есть имя тома Foo, там будет папка .Trash /Volumes/Foo/.Trash. То, что я задокументировал выше, не удалит эти файлы. Вы должны настроить что-то подобное для каждого тома, который у вас есть.

Соренс
источник
2
OS X findтакже имеет -deleteфлаг, чтобы вы могли использовать find ~/.Trash -mtime +7 -delete. Даты изменений не очень хорошо показывают, когда файлы были удалены. Однако я не знаю, как получить доступ к метаданным удаленной даты, отображаемым в Finder.
LRI
Согласитесь с комментарием выше ... Хотя это хороший скрипт, на практике он удаляет материал по дате его изменения. Поэтому, если я время от времени запускаю скрипт из старой папки, то большая часть этой папки удаляется. Было бы хорошо, если бы мы могли найти параметр для даты, удаленной в файле.
Джоуи
@Jowie, мы можем использовать -atime, который является последним временем доступа. Кстати , есть еще одна проблема - это оставляет пустые каталоги в корзине ...
Display Name
3

Hazel может быть настроен как для хранения файлов только в течение определенного периода времени, так и для хранения мусора под определенным размером. Вы также можете добавить пользовательские правила для немедленного удаления больших файлов или удаления файлов из мусорных папок других томов.

LRI
источник
0

Джон Wiegley это dirscan , в частности , к cleanup.pyпримеру, предназначена для решения проблем , выявленных с использованием подходов find. dirscanпредоставляет более универсальное решение в том смысле, что вы можете настроить его для сканирования / очистки разных каталогов различными способами.

jwd630
источник