はじめに
macOSを長期間使用していると、キャッシュファイル、
古いログ、不要なアプリデータなどが蓄積され、
ストレージ容量が圧迫されることがあります。
特に開発者やクリエイターの場合、
数十GBもの不要なデータが蓄積されることも珍しくありません。
この記事では、コマンドラインを使って効率的かつ安全にmacOSのストレージを最適化する方法を体系的に解説します。
実際に58GBのシステムデータから18GB以上を削減した事例をもとに、
再現可能な手順をまとめています。
対象読者
- macOSのストレージ容量に悩んでいる方
- コマンドラインでの効率的なメンテナンス方法を知りたい方
- 開発環境やクリエイティブ環境でファイルが蓄積されがちな方
事前準備と注意事項
⚠️ 重要な注意点
削除前に必ずバックアップを取ってください。Time MachineやiCloudバックアップが有効になっていることを確認し、重要なデータは別途バックアップしておくことを強く推奨します。
権限について
一部のコマンドはsudo権限が必要です。システムファイルを扱うため、慎重に実行してください。
1. ストレージ使用量の診断
全体的な使用量確認
まず現在のストレージ状況を把握します。
# ファイルシステムの使用量確認
df -h
# 大きなディレクトリを容量順で表示
sudo du -h --max-depth=2 / 2>/dev/null | grep "G" | sort -hr | head -20
df -hでディスク使用量全体を、duコマンドで大容量ディレクトリを特定できます。
ユーザーディレクトリの詳細分析
# ホームディレクトリ直下のサイズ確認
du -sh ~/* | sort -hr
# ユーザーライブラリの詳細分析
du -sh ~/Library/* | sort -hr | head -15
~/Libraryは多くの削除可能なデータが蓄積される場所です。
2. 高効果な削除対象
ユーザーキャッシュの削除(高優先度)
現状確認
du -sh ~/Library/Caches/* | sort -hr | head -10
一般的に削除可能な大容量キャッシュ
開発関連キャッシュ
# Homebrew キャッシュ
brew cleanup --prune=all
# pip (Python) キャッシュ
rm -rf ~/Library/Caches/pip
# npm キャッシュ
npm cache clean --force
# Xcode DerivedData
rm -rf ~/Library/Developer/Xcode/DerivedData
アプリケーションキャッシュ
# Adobe製品キャッシュ(使用していない場合)
rm -rf ~/Library/Caches/Adobe*
# ブラウザキャッシュ(例:使用していないブラウザ)
rm -rf ~/Library/Caches/BraveSoftware
rm -rf ~/Library/Caches/Google # Chrome関連
クリエイティブアプリキャッシュ
# 写真編集アプリ
rm -rf ~/Library/Caches/com.skylum.luminarneo
# 音楽アプリ
rm -rf ~/Library/Caches/com.spotify.client
効果測定
削除前後でサイズを比較:
# 削除前
du -sh ~/Library/Caches
# 削除実行後
du -sh ~/Library/Caches
Application Supportディレクトリの最適化
ユーザーレベル
# 現状確認
du -sh ~/Library/Application\ Support/* | sort -hr | head -15
# 使用していないアプリのデータ削除例
rm -rf ~/Library/Application\ Support/Adobe # Adobe製品未使用の場合
rm -rf ~/Library/Application\ Support/[アプリ名] # 削除済みアプリの残存データ
システムレベル(要注意)
# 確認のみ(削除は慎重に)
sudo du -sh /System/Volumes/Data/Library/Application\ Support/* | sort -hr | head -10
# 明らかに不要なもののみ削除(例:使用していないAdobe製品)
sudo rm -rf /System/Volumes/Data/Library/Application\ Support/Adobe
3. 中程度の効果が期待できる削除対象
Containersディレクトリ
サンドボックス化されたアプリのデータが格納されています。
# 現状確認
du -sh ~/Library/Containers/* | sort -hr | head -15
# 使用していないアプリのデータ削除例
rm -rf ~/Library/Containers/com.docker.docker # Docker未使用の場合
rm -rf ~/Library/Containers/com.amazon.Lassen # Kindle未使用の場合
ログファイルの削除
# ユーザーログの確認
du -sh ~/Library/Logs/* | sort -hr
# システムログの確認
sudo du -sh /var/log/* | sort -hr
# 古いログファイルの削除(7日以上前)
sudo find /var/log -name "*.log" -mtime +7 -exec rm {} \;
# ユーザーログの削除(必要に応じて)
rm -rf ~/Library/Logs/*
一時ファイルとダウンロード
# ダウンロードフォルダの大きなファイル確認
du -sh ~/Downloads/* | sort -hr | head -10
# ゴミ箱の完全削除
rm -rf ~/.Trash/*
# 一時ファイル
sudo rm -rf /tmp/*
sudo rm -rf /private/tmp/*
4. 特殊ケースの削除対象
開発環境関連
Xcode関連
# Xcode Archives(古いビルド成果物)
rm -rf ~/Library/Developer/Xcode/Archives
# iOS Simulator(不要なデバイスデータ)
rm -rf ~/Library/Developer/CoreSimulator/Devices/*
# Xcode キャッシュ
rm -rf ~/Library/Caches/com.apple.dt.Xcode
Docker関連
# Dockerコンテナとイメージのクリーンアップ
docker system prune -a --volumes
# Docker Desktop データ(完全リセット時)
rm -rf ~/Library/Containers/com.docker.docker
Node.js関連
# node_modules の古いキャッシュ
npm cache clean --force
# グローバルパッケージの見直し
npm list -g --depth=0
Adobe製品関連
# Adobe Creative Cloud キャッシュ
rm -rf ~/Library/Caches/Adobe*
rm -rf ~/Library/Application\ Support/Adobe*
rm -rf /Library/Application\ Support/Adobe # システムレベル(sudo必要)
# Adobe Camera Raw キャッシュ
rm -rf ~/Library/Caches/Adobe\ Camera\ Raw*
macOS特有のデータ
スクリーンセーバー用素材
# Aerial スクリーンセーバーの動画素材(使用していない場合)
sudo rm -rf /System/Volumes/Data/Library/Application\ Support/com.apple.idleassetsd
Time Machine ローカルスナップショット
# 確認
tmutil listlocalsnapshots /
# 削除(システムが自動管理するため通常不要)
# sudo tmutil deletelocalsnapshots [snapshot-date]
5. 大きなファイルの発見と対処
大容量ファイルの検索
# 1GB以上のファイルを検索
find ~ -type f -size +1G -exec ls -lh {} \; 2>/dev/null
# 500MB以上のファイルを検索
find ~ -type f -size +500M -exec ls -lh {} \; 2>/dev/null
# 特定の拡張子の大きなファイル
find ~ -name "*.mp4" -size +1G -exec ls -lh {} \; 2>/dev/null
ファイル種別ごとの対処
動画ファイル
# 大きな動画ファイルの確認
find ~ -name "*.mov" -o -name "*.mp4" -o -name "*.avi" | xargs du -sh | sort -hr
仮想マシンファイル
# Parallels、VMware等の仮想マシンファイル
find ~ -name "*.pvm" -o -name "*.vmwarevm" | xargs du -sh
データベースファイル
# 大きなデータベースファイル
find ~ -name "*.db" -o -name "*.sqlite" -size +100M -exec ls -lh {} \;
6. 安全な削除のためのベストプラクティス
削除前チェックリスト
-
アプリケーションの使用状況確認
# インストール済みアプリの確認 ls /Applications/ | grep -i [アプリ名] -
重要データの確認
# 削除対象ディレクトリの詳細確認 ls -la [削除対象パス] -
サイズの事前確認
du -sh [削除対象パス]
段階的削除の実行
# 1. まず小さなものから削除
rm -rf ~/Library/Caches/小さなアプリ
# 2. 効果を確認
df -h
# 3. より大きなものを削除
rm -rf ~/Library/Caches/大きなアプリ
削除してはいけないもの
-
com.apple.*で始まるシステム関連ファイル(一部例外除く) - 現在実行中のアプリケーションのデータ
- ユーザーが作成したドキュメントやプロジェクトファイル
- 証明書やライセンス情報
7. 効果測定と継続的なメンテナンス
削除効果の確認
# 削除前後の比較
df -h
# 特定ディレクトリのサイズ変化
du -sh ~/Library/Caches
du -sh ~/Library/Application\ Support
定期メンテナンススクリプト
簡単なメンテナンススクリプトの例:
#!/bin/bash
# cleanup.sh - 定期メンテナンススクリプト
echo "=== macOS ストレージクリーンアップ開始 ==="
# Homebrew クリーンアップ
echo "Homebrewクリーンアップ中..."
brew cleanup --prune=all
# npm キャッシュクリーンアップ
echo "npmキャッシュクリーンアップ中..."
npm cache clean --force
# ゴミ箱を空にする
echo "ゴミ箱をクリア中..."
rm -rf ~/.Trash/*
# 一時ファイル削除
echo "一時ファイル削除中..."
sudo rm -rf /tmp/*
echo "=== クリーンアップ完了 ==="
df -h
自動化の設定
# crontab で週次実行
crontab -e
# 毎週日曜日の深夜2時に実行
0 2 * * 0 /path/to/cleanup.sh
実際の削減事例
以下は実際の削減事例です:
| 対象 | 削減容量 | 削除内容 |
|---|---|---|
| ユーザーキャッシュ | 7.4GB | Adobe、Google、Spotify等のキャッシュ |
| システムApplication Support | 6.3GB | 未使用Adobe製品データ |
| ユーザーApplication Support | 1.0GB | 削除済みアプリの残存データ |
| Containers | 3.6GB | Docker、Kindle等の未使用アプリ |
| 合計 | 18.3GB |
まとめ
コマンドラインを使ったmacOSストレージクリーンアップにより、以下のメリットが得られます:
- 効率的な大容量削除:GUIでは困難な大量ファイルの一括処理
- 詳細な制御:削除対象の正確な特定と選択的削除
- 自動化可能:スクリプト化による定期メンテナンス
- 安全性:事前確認による誤削除の防止
定期的にこれらの手順を実行することで、macOSのパフォーマンス向上とストレージの効率的な利用が実現できます。
特に開発者の方は、キャッシュファイルやビルド成果物が大量に蓄積されやすいため、月1回程度の定期メンテナンスを推奨します。