「枯れ木」、つまり長期間(たとえば、2年以上)使用されていないファイルを特定して削除することにより、OSXハードドライブに空き容量を増やしたいと考えています。
古い未使用のファイルを識別するための一般的なツールはありますか?
(注1:ローカリゼーションファイルを削除するためのツールを知っていますが、それよりもはるかに一般的なものを探しています。同様に、大きなファイルを識別するためのツールも知っていますが、これは現時点で探しているものではありません。 。)
(注2:見つかった古い未使用のファイルを自動的に削除するツールには興味がありません。候補ファイルのリストをスキャンして、古くて非アクティブであるにもかかわらず保持したいファイルをすべて削除できるようにしたいです。 )
ありがとう!
OS XはSpotlightを使用してすべてにインデックスを付けるため、必要なものを見つけるための非常に強力なコマンドラインツールがあります。
_mdfind -onlyin <directory> 'kMDItemLastUsedDate <= $time.today(-<days>)'
_
たとえば、_<directory>
_で開いていない_<days>
_のすべてを一覧表示します。もちろん、システム全体で検索する場合は、onlyin
を省略できます。ただし、特定のディレクトリを調べることをお勧めします。
このクエリは次の方法で変更できます。
$time.this_week
_$time.this_month
_$time.this_year
_もちろん、たとえば、5週間開かれていないものが必要な場合は、$time.this_week(-5)
も追加します。または、あなたの場合、過去2年間使用されなかったものに$time.this_year(-2)
を使用します。
また、他の属性にアクセスすることもできます。
kMDItemContentModificationDate
(変更されたとき)kMDItemContentCreationDate
(作成時)実行できる他のクエリの数 があります。他の属性のリストについては、 ここ を参照してください。
find
の使用_<directory>
_日以上前に変更された_<d>
_内のファイルの簡単なリスト:
_find <directory> -type f -mtime +<d>
_
だから、例えば
_find ~/Documents -type f -mtime +150
_
150日以上変更していない_~/Documents
_内のすべてのファイルを一覧表示します。
mtime
は、ユーザー(またはシステム)がファイルを読み取ったときに変更されないファイルのUnix変更時刻です。逆に、過去150日間にwithinに変更されたファイルを一覧表示する場合は、_-150
_の代わりに_+150
_を使用します。
mtime
と同様に、最終アクセス時間を指定するatime
もあります。同じ構文:
_find ~/Documents -type f -atime +150
_
しかし、それが正確すぎるかどうかはわかりません。少なくともOSXでは、Spotlightがここでのより良いオプションのようです。
Finderでこれを行うには、検索するフォルダ(ホームディレクトリなど)を選択して、Cmd-F
を押します。
Option
を押しながら、述語エディターの右側にある...
ボタン(Option
を押さない場合は+
ボタン)をクリックします(検索条件のあるバー)。
新しい基準ブロックにnoneと表示されている場所でanyを選択し、次の行でLast Opened Date(おそらくデフォルト)またはLast ModifiedDateを選択します。次に、希望の時間範囲を入力します。次のようになります。
実際に検索式を入力する必要はありません。しばらくの間変更されていないファイルが一覧表示されます。
Finderからこれを行うと、条件を追加したり、結果のファイルを並べ替えて表示したりするのが非常に簡単であるという利点があります。
Spotlight結果リストにサイズ列を追加する方法についてはこの回答を参照してください 古いおよび大きなファイルを選択的に削除します。
スポットライト。
削除するファイルの種類にワイルドカード(または一般的なワイルドカード)を入力し、属性「最終オープン日」を追加します。これをお好みに合わせて設定してください。
削除するものに注意してください。