大きいファイルの洗い出しの手順|最初に決めておくこと
大きいファイルの洗い出しは、走査を始めた瞬間から始まるように見えて、実際には始める前の数分で結果がほぼ決まります。どこまで測るかを決めずに走らせると、出てきた一覧が長すぎて読み切れず、上から順に眺めて終わります。ここでは、手を動かす順番を、決めることと測ることに分けて並べます。二度目からの負担を減らすところまでが手順です。
走らせる前に、目標の数字と期限を紙に書く
最初に決めるのは「どれだけ空ければ終わりか」です。これが無いと、いつまでも足りない気がして作業が終わりません。
目安の立て方は単純です。いま入れたいものの大きさに、当面の余裕を足します。macOSの更新には一時的な作業領域が要るため、常用のディスクでは全体の10パーセント前後を空けておくと、更新やコピーで止まる場面が減ります。512GBのディスクなら50GB前後が目標になります。
期限も同時に決めます。1時間なのか、週末なのかで、やることが変わるからです。1時間しか取れないなら、上位20件だけを見て、再生成できるものだけ消して終わりにします。週末が使えるなら、外付けへの移動と、増え続けている生成元の手当てまで入ります。決めずに始めると、必ず重いほうの作業に引きずられて途中で止まります。
もう1つ、始める前に確認しておくものがあります。バックアップです。移動と削除を伴う作業なので、直近の控えが取れているかを見てから走らせます。控えが古い状態で削除を進めると、判断を1つ間違えたときに戻せません。この順番だけは入れ替えないほうが安全です。
順番は「除外を決める」が先、「測る」が後
多くの手順書は走査から始まりますが、それだと一覧の上位が毎回同じ顔ぶれになって、読む時間が無駄になります。先に外すものを決めます。
外す候補は次の3つです。
- 手を付けないと決めているもの。写真と動画のライブラリ、端末の控え、仕事の素材が入った特定のフォルダ
- 自動で空く領域。起動ディスクの控えは必要になれば自動で削除されるため、数えても手当ての対象になりません
- ほかの利用者のホームと、いま外していない外付けボリューム
除外を先に決めておくと、一覧に残るのが「自分がこれから判断するもの」だけになります。200行あった一覧が40行になれば、最後まで読み切れます。ツリーマップ系のアプリには除外の設定があり、コマンドなら対象のパスを絞るだけで同じことができます。
除外と並んで先に決めるのが、走査の範囲です。ホームフォルダだけを見るのか、起動ディスク全体を見るのかで、必要な許可が変わります。ディスク全体を見るなら、走らせるアプリにフルディスクアクセスを与えておきます。許可が無いまま走らせると、読めなかった部分が0として数えられ、合計が実際より小さく出ます。この状態で「思ったより使っていない」と結論を出すと、手戻りになります。
「大きい」の線を、ディスクの大きさから逆算する
何MB以上を大きいと呼ぶかは、ディスクの大きさで変わります。固定の値を使い回すと、小さいディスクでは一覧が長すぎ、大きいディスクでは短すぎます。
逆算の仕方は、目標の数字を件数で割ることです。50GBを空けたくて、1時間で20件までしか判断できないなら、1件あたり2.5GBが必要です。線を1GBに置けば、候補は十分に集まります。線を100MBに置くと、数百件が並んで読み切れなくなります。
線を決めたら、走査の条件に入れます。Finderの検索では、条件にファイルサイズを足して、指定した値より大きいものだけを残せます。この条件は保存できるので、二度目からは開くだけで済みます。コマンドなら、find に大きさの条件を付けて、条件に合うものだけを出します。
線は1回で決まりません。出てきた件数を見て、多すぎれば上げ、少なすぎれば下げます。3回ほど往復すれば、自分のディスクに合う値が決まります。決まった値は、次回のために書き留めておきます。
同じ走査を、3つの形で読む
一覧の出し方を変えると、見えるものが変わります。手順としては、粗いほうから細かいほうへ降ります。
| 段階 | 出し方 | 分かること |
|---|---|---|
| 1段目 | フォルダごとの合計を大きい順に | どの入れ物が重いか |
| 2段目 | 重かった入れ物の1つ下だけを | その中のどこが膨らんでいるか |
| 3段目 | 大きさの条件でファイルを直接 | 1本で効く重いファイルはどれか |
1段目と2段目は、du の深さの指定で切り替えます。この指定は、階層のどこまで降りて合計を出すかを決めるものです。
Show the total for each directory (and file if --all) that is at most MAX_DEPTH levels down from the root of the hierarchy. 出典: gnu.org
いきなり深く降りないのが要点です。最初から全階層を並べると、行数が数千になって上位が埋もれます。まず1段だけ降りて重い入れ物を3つ選び、その3つの中だけをもう1段降りる。この降り方なら、読む行数は毎回20行前後に収まります。
3段目は、入れ物ではなく1本のファイルを探す段です。動画の書き出し、仮想ディスクの像、圧縮していない素材など、1本で数十GBになるものはここで見つかります。1段目と2段目で見つからなかった容量は、たいていここにあります。1段目と2段目は「たくさんの小さいもの」に強く、3段目は「少数の巨大なもの」に強い、と覚えておくと使い分けを間違えません。
この3段を1回ずつ通すと、ディスクの形が言葉で言えるようになります。「重いのは書類の下で、その中では動画の書き出しが半分、残りは過去案件の素材」という具合です。ここまで言えるようになれば、次にどこを手当てすればよいかは自動的に決まります。逆に、いきなり3段目だけを走らせると、巨大なファイルは見つかるものの、細かいものが何十GBも積み上がっている場所を見落とします。順番を飛ばさないのは、時間を節約するためではなく、見落としを防ぐためです。
出てきたものを、3つの箱に振り分ける
判断を早くするには、選択肢を3つに固定します。迷う余地を減らすのが目的です。
- 消す。作り直せるもの。ビルドの中間生成物、依存パッケージの置き場、取り直せる配布物
- 外に出す。唯一の原本だが、日常では開かないもの。過去の案件の素材、撮影の元データ
- 置いたままにする。毎週開くもの、いま動いている環境に必要なもの
迷ったら「外に出す」に入れます。消すかどうかの判断を先送りできて、しかも容量は空くからです。外付けに出したあと3か月開かなかったものは、次の回で消す側に回せます。
外に出すときは、移す前に置き場所の規則を先に決めます。外付けの中がそのまま散らかると、探す時間が手元にあったときより長くなり、結局また手元へ戻すことになります。年と案件で分ける、種類で分ける、どちらでも構いませんが、途中で変えないことのほうが大切です。移し終えたら、手元に残した空のフォルダも一緒に片付けます。空のフォルダが残っていると、次回の一覧に名前だけが並んで判断の邪魔になります。
クラウド側に預ける道もあります。Appleの案内では、空きが必要になったときに自動で領域を空ける仕組みが用意されています。
Your Mac can optimize storage by using iCloud to automatically make more storage space available when needed. 出典: support.apple.com
この仕組みは手軽ですが、手元から原本が消える形になります。回線が無い場所で開く必要があるものは、この箱に入れないでください。振り分けの基準を決めるときは、金額の形も見ておくと判断が早くなります。保存先を増やす費用と、道具に払う費用の考え方は料金に整理されています。
二度目からは、手順ではなく仕掛けにする
洗い出しがつらいのは、毎回ゼロから条件を組み直しているからです。1回目に決めたものを残しておけば、2回目は10分で終わります。
残しておくものは3つです。1つ目は、大きさの線を入れた検索条件。Finderの検索条件は保存できます。2つ目は、1段目と2段目を出すコマンドを短い別名にしたもの。3つ目は、除外の一覧です。この3つを書き留めておくだけで、次回は走らせて読むだけになります。
書き留める場所も決めておきます。設定ファイルの中に埋めてしまうと、次のMacに移ったときに持っていけません。ふだん開いているメモか、作業用のフォルダに1枚のテキストとして置くほうが残ります。そこに、決めた大きさの線、除外したフォルダ、前回の空き容量、前回消したものの合計を、日付とともに1行ずつ足していきます。3回分もたまれば、どの生成元が効いているのかが数字で見えるようになります。
周期も決めます。毎月同じ日に見るか、空きが目標の値を割ったときに見るか、どちらかです。後者のほうが無駄がありませんが、気づくのが遅れます。ディスクの空きを表示しておいて、目に入るようにしておくのが現実的です。
2か月目に崩れるのは、生成元に触れていないから
同じ手順を2回目にやると、上位の顔ぶれが1回目とほとんど同じになります。これは手順が悪いのではなく、容量を作り続けている場所に手を付けていないためです。
上位20件の親フォルダを数えて、同じフォルダが3回以上出てくるなら、そこが生成元です。書き出し先に指定したままのフォルダ、ダウンロードの保存先、自動で世代を溜めている設定のどれかです。手当ては、書き出し先を外付けに変える、保持する世代の数を減らす、定期的に空にする、のいずれかになります。
手当てを1つ入れたら、次の回でその効果を確かめます。前回書き留めておいた空き容量と比べて、減り方が緩やかになっていれば効いています。変わっていなければ、生成元の見立てが外れているので、上位20件の親フォルダを数え直します。手当ては一度に1つだけにしておくと、どれが効いたのかが分かります。
生成元に触れると、3回目の一覧は明らかに短くなります。ここまでやって、洗い出しは1回の掃除から仕掛けに変わります。
手順の所要時間を決めているのは、走査ではなく窓の数
ここまでの手順を実際に回すと、時間を食っているのが走査ではないことが分かります。1件を判断するたびに、Finderで場所を開き、中身を見て、ターミナルで同じ名前のものが他にないかを探し、消すか移すかを決める。この往復が40件続けば、走査にかかった2分は誤差になります。
フォルダとターミナルとAIが同じ窓にある作りのファイル管理アプリは、この往復のために作られています。一覧で選んだその場でコマンドを打ち、結果を同じ画面で受け取れれば、アプリの切り替えが消えます。窓の中で何ができるのかはできることに、ほかの道具との守備範囲の違いは他のファイル管理との比較に一覧があります。導入の前に引っかかりやすい点はよくある質問にまとまっているので、手順を組む前に見ておくと組み直しが減ります。
手順を変えるか、道具を変えるかで迷ったら、判断1件あたりに開いている窓の数を数えてください。窓が3つ以上なら、手順をどう磨いても所要時間は縮みません。逆に窓が1つで済んでいるなら、道具はいまのままで十分で、直すべきなのは除外の一覧と大きさの線のほうです。
よくある質問
洗い出しはどのくらいの周期で回すのが妥当ですか?
月に一度、または空きが目標の値を割ったときのどちらかです。周期を決めずに「気になったとき」にすると、必ず空きが限界まで減ってから慌てることになります。条件を保存しておけば2回目以降は10分ほどで終わるので、月次に置いても負担にはなりません。
何MB以上を「大きい」と扱えばよいですか?
固定の値ではなく、目標の空き容量を判断できる件数で割って決めます。50GBを空けたくて20件までしか見られないなら、1件あたり2.5GBが要るので、線は1GB前後が妥当です。出てきた件数を見て2、3回上下させれば落ち着きます。
消すか移すかで迷ったときはどうすればよいですか?
迷ったものは外付けに移す側へ入れてください。容量はその場で空き、消すかどうかの判断は先送りできます。移したあと数か月開かなかったものは、次の回で消す側に回せます。作り直せるものだけは迷わず消して構いません。
走査の前にバックアップは必要ですか?
移動と削除を伴う以上、直近の控えが取れている状態で始めるのが安全です。控えが古いまま削除を進めると、判断を1つ間違えたときに戻せません。走らせる前に控えの日時を確認し、古ければ先に取り直してから手順に入ってください。