Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Jan 13, 2026 - 日記

Mole: ターミナルから始めるMac最適化の基本

Mole: ターミナルから始めるMac最適化の基本 cover image

Mole は、macOS 向けの無料オープンソースクリーナーです。ターミナルから実行するCLI(Command Line Interface、コマンドラインで操作するUI)ツールで、CleanMyMacAppCleanerDaisyDiskiStat Menus が担っている「よく使うユースケース」を、1つのコマンドに寄せてカバーするイメージです。

自分がこういうツールに興味を持ったのは、並列開発が増えてきて、ディスク容量やメモリなどのリソース枯渇に悩むことが増えたからです。年末の大掃除みたいに一回きれいにして終わりではなく、普段のメンテとして回せる形がほしくなりました。

本記事では、Moleの基本的な使い方と、Mac開発者が「継続できるメンテ」に落とし込むためのポイントをまとめます。

Moleとは

Moleは、tw93氏が開発したmacOS向けのシステム最適化ツールです。tw93氏はPake (35,000+ ⭐)やMiaoYan など、多数のオープンソースプロジェクトを手がける開発者として知られています。

主な特徴

  • 軽量: GUIを持たず、ターミナルから実行
  • 統合的: 複数の有料ツールの機能を1つに集約
  • オープンソース: MITライセンス、GitHubで28,500+スター
  • 自動化可能: シェルスクリプトやcronジョブに組み込み可能

インストール

Homebrew (macOS向けパッケージマネージャ)を使うのが最も簡単です:

1
brew install mole

または、公式のインストールスクリプトを使用:

1
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash

基本的な使い方

対話的メニュー

引数なしでmoコマンドを実行すると、対話的なメニューが表示されます:

1
mo

以下の機能から選択できます:

  1. Clean - キャッシュ・ログの削除
  2. Uninstall - アプリの完全削除
  3. Optimize - システム最適化
  4. Analyze - ディスク使用量解析
  5. Status - リアルタイムシステム監視

直接コマンド実行

各機能を直接実行することもできます:

1
2
3
4
5
mo clean       # キャッシュクリーニング
mo uninstall   # アプリアンインストール
mo optimize    # システム最適化
mo analyze     # ディスク解析
mo status      # システム状態表示

各機能の詳細

1. Clean - ディスク容量の解放

mo cleanは以下のファイルを削除します:

  • ユーザーアプリのキャッシュ
  • ブラウザキャッシュ(Chrome、Safari、Firefox)
  • 開発ツールのキャッシュ(Xcode、Node.js、npm)
  • システムログと一時ファイル
  • ゴミ箱の内容

ドライラン

実際に削除する前に確認したい場合は、--dry-runオプションを使用:

1
mo clean --dry-run

削除されるファイルのリストとサイズが表示されます。

ホワイトリスト管理

特定のキャッシュを保護したい場合:

1
mo clean --whitelist

保護したいパスを追加できます。

2. Uninstall - アプリの完全削除

macOSの標準アンインストールでは、アプリ本体は削除されますが、関連ファイルが残ります。Moleは以下を含めて完全に削除します:

  • アプリケーション本体
  • Application Support内のファイル
  • 設定ファイル(Preferences)
  • ログファイル
  • Launch Agents/Daemons
  • プラグインや拡張機能
1
mo uninstall

インストール済みアプリの一覧が表示され、スペースキーで選択、Enterで削除実行です。

3. Optimize - システムのリフレッシュ

mo optimizeは以下を実行します:

  • システムデータベースの再構築
  • ネットワークサービスのリセット
  • FinderとDockのリフレッシュ
  • 診断ログのクリーンアップ
  • Spotlight インデックスの再構築
1
mo optimize

Macが重く感じるときに試してみると効果的です。

4. Analyze - ディスク使用量の可視化

mo analyzeは、ディレクトリごとの使用量をビジュアルに表示します:

1
mo analyze

矢印キーで移動、Enterでディレクトリに入り、サブディレクトリの内容を確認できます。大きなファイルを見つけたい場合に便利です。

5. Status - システム監視ダッシュボード

mo statusは、リアルタイムのシステム情報を表示します:

  • CPU使用率(コアごと)
  • メモリ使用量
  • ディスクI/O
  • ネットワーク通信量
  • プロセス一覧
1
mo status

mo statusの画面(歩くモグラのアスキーアート)

画面上部に歩くモグラのアスキーアートが出て、これが地味に楽しいです。kキーで表示/非表示を切り替えられます。

開発者向け便利機能

Purge - プロジェクトのビルド成果物削除

開発者にとって特に便利なのがpurge機能です。node_modulestarget(Rust)、distbuildなどのビルド成果物を一括削除できます:

1
mo purge

デフォルトでは、よくある開発用ディレクトリ(例: ~/Projects~/GitHub など)を自動で探索してスキャンします。環境によって配置はバラバラなので、基本は mo purge --paths で明示的に指定するのが安全です。

カスタムパスの設定

独自のプロジェクトディレクトリを指定したい場合:

1
mo purge --paths

または、~/.config/mole/purge_pathsファイルを直接編集:

1
2
3
~/Documents/MyProjects
~/Work/ClientA
~/Work/ClientB

注意: 最近7日以内に変更されたプロジェクトはデフォルトで選択から外されていますが、削除を実行すると復元できません。

Installer - インストーラファイルの削除

ダウンロードフォルダに溜まったインストーラファイル(.dmg、.pkg等)を見つけて削除:

1
mo installer

以下の場所からインストーラファイルを検索します:

  • Downloads
  • Desktop
  • Homebrewキャッシュ
  • iCloud Drive
  • Mailダウンロード

Touch ID対応

sudoコマンドをTouch IDで認証できるように設定:

1
mo touchid

これにより、システム変更時のパスワード入力がTouch IDに置き換わります。

シェル補完

タブ補完を有効にすると、コマンド入力が楽になります:

1
mo completion

Bash、Zsh、Fishに対応しています。

自動化への組み込み

Moleはシェルスクリプトから実行できるため、定期的なメンテナンスを自動化できます。

cronジョブの例

cron(定期実行スケジューラ)で、毎週日曜日の深夜にクリーンアップを実行します。Apple Siliconだと/opt/homebrew/bin、Intelだと/usr/local/binなど、環境でパスが変わるので、まず command -v mo で実体のパスを確認します。

1
2
3
4
5
6
7
command -v mo

# crontabを編集
crontab -e

# 例: moのパスをそのまま貼り付けて使う(ここは自分の環境の結果に置き換えてください)
0 2 * * 0 /opt/homebrew/bin/mo clean > /dev/null 2>&1

シェルスクリプトの例

週次メンテナンススクリプト:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
# weekly-maintenance.sh

echo "=== Weekly Mac Maintenance ==="
echo ""

echo "1. Cleaning caches..."
mo clean

echo ""
echo "2. Optimizing system..."
mo optimize

echo ""
echo "3. Cleaning old projects..."
mo purge

echo ""
echo "Maintenance complete!"

年末の掃除を「継続」にする

そういえば年末に、ディスク容量の奪還やHomebrewの棚卸しなどをまとめた「エンジニアの年末大掃除 2025(後編) 」を書きました。この記事は、その延長として「一回の掃除」を「普段のメンテ」に落とす話です。

年末に一度だけ掃除しても、開発しているとすぐに散らかります。特に並列で複数プロジェクトを触っていると、node_modulesやビルド成果物、ブラウザキャッシュが積み上がって、体感的に「Macが重い」「空き容量がない」に直結しがちです。

自分の場合、継続のコツは「削除の前にプレビュー」「対象を絞る」「回す頻度を決める」の3つでした。

  • まずは mo clean --dry-runmo optimize --dry-run で、何が起きるかを見る
  • purgeはプロジェクトルートを --paths で明示して、スキャン範囲を狭める
  • 週1回だけ回す(毎日やらない)くらいにして、作業の邪魔をしない

「大掃除ネタ」から入っても、こういう運用に落ちると日常的に効きます。

既存ツールとの使い分け

Moleがすべてのユースケースに最適というわけではありません。以下のような使い分けが考えられます:

Moleが向いている場合

  • CLIツールに慣れている
  • 自動化・スクリプト化したい
  • サーバーやCI環境で使いたい
  • 無料で軽量なツールを求めている

GUI版クリーナーが向いている場合

  • ビジュアルで確認しながら作業したい
  • 詳細なディスク解析が必要
  • サポートやアップデート保証が欲しい
  • Mac初心者

CleanMyMac Xなどの有料ツールは、より詳細な解析機能や継続的なサポートを提供しています。用途に応じて選択するのが良いでしょう。

セキュリティについて

Moleはオープンソースプロジェクトであり、SECURITY_AUDIT.md でセキュリティ監査の結果が公開されています。

主なセキュリティ対策:

  • システムファイルの保護(削除対象は主にキャッシュとログ)
  • ドライランモードでの事前確認
  • ホワイトリスト機能
  • MIT ライセンスで誰でもコード監査可能

Reddit等では「コードが雑」という指摘もありますが、GitHubのコミット履歴を見ると活発にメンテナンスされています。最新版(V1.20.0、2026年1月8日リリース)では、Go言語への移行も進んでおり、コード品質の向上が図られています。

注意点

ターミナルの互換性

iTerm2では一部の表示が正しく動作しない場合があります。以下のターミナルが推奨されています:

  • Alacritty
  • kitty
  • WezTerm
  • Ghostty
  • Warp

削除の不可逆性

Moleで削除したファイルは復元できません。特に以下のコマンドを実行する前は、必ず--dry-runで確認してください:

  • mo clean
  • mo purge
  • mo uninstall

システムへの影響

mo optimizeは、DNSキャッシュのクリアやSpotlightインデックスの再構築など、システムに変更を加えます。重要な作業中ではなく、時間に余裕があるときに実行するのが賢明です。

まとめ

Moleは、macOS開発者にとって便利な無料のシステムメンテナンスツールです。特に以下のような方におすすめです:

  • ターミナル操作に慣れている
  • メンテナンス作業を自動化したい
  • node_modulesなどのビルド成果物を定期的に削除したい
  • 無料で軽量なツールを探している

一方で、GUIで視覚的に確認しながら作業したい方や、より詳細な解析機能が必要な方は、CleanMyMac Xなどの有料ツールも選択肢に入れると良いでしょう。

興味のある方は、まずmo clean --dry-runでどのくらいの容量を削減できるか確認してみてください。

参考リンク