我想通过识别和删除“死木”(即长时间(例如超过 2 年)未使用的文件)来腾出 OS X 硬盘驱动器的空间。
是否有一个通用工具可以识别旧的、未使用的文件?
(注1:我知道有一个用于删除本地化文件的工具,但我正在寻找比这更通用的工具。同样,我知道有用于识别大文件的工具,但这不是我目前正在寻找的工具.)
(注2:我对自动删除它找到的旧的、未使用的文件的工具不感兴趣;我希望能够扫描候选文件列表,并删除我想要保留的任何文件,尽管它们是旧的且不活动的。 )
谢谢!
由于 OS X 使用 Spotlight 对所有内容进行索引,您将拥有一个非常强大的命令行工具来查找您需要的内容:
mdfind -onlyin <directory> 'kMDItemLastUsedDate <= $time.today(-<days>)'
Run Code Online (Sandbox Code Playgroud)
例如,会列出<directory>
您尚未打开的所有内容<days>
。onlyin
如果您想在系统范围内搜索,您当然可以省略。不过,我建议查看特定目录。
您可以使用以下命令修改此查询:
$time.this_week
$time.this_month
$time.this_year
当然还要添加$time.this_week(-5)
,例如,如果您想要 5 周未打开的东西。或者,就您而言,用于$time.this_year(-2)
过去两年未使用过的东西。
此外,您还可以访问其他属性:
kMDItemContentModificationDate
(修改时)kMDItemContentCreationDate
(创建时)您还可以提出许多其他查询。有关其他属性的列表,请参阅此处。
find
<directory>
几天前已修改的文件的简单列表<d>
:
find <directory> -type f -mtime +<d>
Run Code Online (Sandbox Code Playgroud)
所以,例如
find ~/Documents -type f -mtime +150
Run Code Online (Sandbox Code Playgroud)
~/Documents
列出您至少 150 天未修改的所有文件。
mtime
是文件的 Unix 修改时间,当您(或系统)读取该文件时,该文件不会更改。相反,如果您想列出过去150 天内修改过的文件,则可以-150
使用+150
.
就像 一样mtime
,还有atime
,它指定最后访问时间。相同的语法:
find ~/Documents -type f -atime +150
Run Code Online (Sandbox Code Playgroud)
但我不太确定它是否太精确。至少在 OS X 上,Spotlight 似乎是更好的选择。
归档时间: |
|
查看次数: |
6822 次 |
最近记录: |