はじめに
AI開発ツールのClaude Codeは非常に便利ですが、時として予想外の動作をすることがあります。
特に恐ろしいのが、コード生成時やファイル操作時にrmコマンドで重要なファイルを削除してしまうケースです。
# こんなコマンドが実行されてしまうことも...
rm -rf *
rm -rf ~/Documents
一度削除されたファイルは、通常の方法では復旧が困難です。
そこで今回は、gomiというツールを使って、rmコマンドを安全にする方法を紹介します。
gomiコマンドとは?
gomi
(ゴミ)は、その名の通り日本語の「ゴミ」から名付けられたCLIツールで、従来のrmコマンドの代替として機能します。
主な特徴
- rmコマンドと同じ構文 - 既存のワークフローを変更する必要なし
- XDG Trash仕様準拠 - デスクトップ環境のゴミ箱と完全統合
- 美しいTUI - 削除したファイルの閲覧・復元が簡単
- 高性能 - Goで書かれており高速動作
- 安全設計 - 重要なシステムディレクトリは保護
rmコマンドとの違い
従来のrm | gomi |
---|---|
完全削除(復旧困難) | ゴミ箱に移動(復旧可能) |
間違いが致命的 | 間違っても安心 |
削除したファイルの確認不可 | TUIで簡単に確認・復元 |
インストール方法
みんな大好きHomebrewを使って簡単にインストールできます
brew install gomi
インストールの確認
gomi --version
rmコマンドのエイリアス設定
1. シェル設定ファイルの編集
使用しているシェルに応じて、設定ファイルを編集します:
Zshの場合(macOSデフォルト):
echo 'alias rm="gomi"' >> ~/.zshrc
source ~/.zshrc
Bashの場合:
echo 'alias rm="gomi"' >> ~/.bashrc
source ~/.bashrc
2. エイリアス設定の確認
設定が正しく反映されているか確認しましょう
which rm
正常に設定されていれば、以下のような出力が表示されます
rm: aliased to gomi
3. 動作確認
テストファイルを作成して動作を確認してみましょう
# テストファイル作成
echo "test content" > test_file.txt
# gomiで削除(実際にはゴミ箱へ移動)
rm test_file.txt
# ゴミ箱の確認
gomi -b
gomiの基本的な使い方
ファイルの削除(ゴミ箱への移動)
# 単一ファイル
gomi file.txt
# 複数ファイル
gomi file1.txt file2.txt
# ディレクトリ
gomi -r directory/
# ワイルドカード使用
gomi *.tmp
ゴミ箱の管理
# ゴミ箱の内容を表示(TUI)
gomi -b
# ゴミ箱を空にする
gomi --prune=0d
復元方法
-
gomi -b
でTUIを起動 - 復元したいファイルを選択
-
r
キーで復元
Claude Code使用時の注意点
推奨設定
# ~/.zshrcまたは~/.bashrcに追加
alias rm="gomi"
alias gomi-restore="gomi -b"
# 危険なコマンドのエイリアス無効化
unalias rf 2>/dev/null || true
さらなる安全対策
# 本当のrmコマンドが必要な場合のエイリアス
alias real-rm="/bin/rm"
# 確認付きrmのエイリアス
alias rm-confirm="/bin/rm -i"
まとめ
Claude Codeのような強力なAIツールを使う際は、予期しない動作に備えた安全対策が重要です。
gomiコマンドの導入により、、、
- rmコマンドの誤実行による被害を防げる
- 削除したファイルを簡単に復元できる
- 既存のワークフローを変更せずに済む
- ターミナル作業全般の安全性が向上する
特に重要なプロジェクトで作業する際は、このような安全対策を事前に講じておくことをお勧めします。
参考リンク