有没有办法限制垃圾箱的大小?


12

我的磁盘空间用完了,垃圾桶里只有15GB的空间。有没有一种方法可以使物品不超过7天或限制垃圾箱的大小?

我需要一种自动对其进行管理的方法。

Answers:


12

废纸is只是Apple通过Finder创建和管理的特殊文件夹(目录),因此,您可以轻松地“删除”项目(通过将其从“废纸rash”中删除),然后再进行完全删除(“废纸T”)。由于此机制只是启动磁盘上的目录,因此从技术上讲,如果您愿意,您可以将整个启动磁盘的空间用于“垃圾箱”。

如果您需要某种程度超过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

该命令在终端中执行时,将在“废纸rash”中找到所有早于7天(从运行此命令起)的文件(仅来自启动卷的文件-一分钟内会提供更多信息)并通过每个文件到rm -rf命令。由于rm是unix命令并且没有垃圾桶的概念,因此它只是做一个unix删除,对于我们来说,这是真正的删除(例如清空垃圾桶)。

然后,您可以使用cron(如果您不熟悉Cron,请在Wikipedia上查看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 2012年

同意上面的评论...尽管这是一个不错的脚本,但实际上它会在修改日期之前删除内容。因此,如果我现在丢弃旧资料的文件夹,然后直接运行脚本,则该文件夹中的大部分资料都将被删除。如果我们可以找到文件上删除日期的参数,那将很好。
乔伊2012年

@Jowie我们可以使用-atime,这是最后访问时间。顺便说一句,还有另一个问题-这在“垃圾箱”中留下了空目录...
显示名称

3

可以将Hazel配置为既仅将文件保留一定时间,又将垃圾保持在一定大小以下。您也可以添加自定义规则,以立即删除大文件或删除其他卷的垃圾文件夹中的文件。


0

John Wiegley的dirscan(尤其是cleanup.py示例)旨在处理使用识别方法发现的问题finddirscan提供了更通用的解决方案,您可以将其设置为以不同的方式扫描/清理不同的目录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.