ぴよログ

↓に移転したのでこっちは更新されません、多分。

組み込みのrmが怖すぎるので代替ツールを使う

移転しました →

rm -rfの引数間違えて大惨事、とはいかなくてもそれに近い経験がある人は多いはず。僕もたまーにやります。致命的なことはやったことないけど、さっきダウンロードしてきたばかりのファイルを消してめんどくせーとなったり、Gitで管理中のファイルを消したり。その程度で良かったですが。

いろいろ代替のツールがあるんですが、それらを試した上で自作スクリプトを書いて使っている方がいました。それを紹介します。

と思ったらこの方、以前書いたsd_clと同じ人だ!お世話になります。それについてはこちら。

tmuxやscreenでも使えるpopd、pushdの強化版 - PILOGtmuxやscreenでも使えるpopd、pushdの強化版 - PILOG

削除コマンド

閑話休題、削除コマンドに戻ります。詳しいことはこちらにありますが、trashというスクリプトを導入してそちらを使おうよという話です。

コマンドラインで使うゴミ箱コマンド - rcmdnk's blogコマンドラインで使うゴミ箱コマンド - rcmdnk's blogはてなブックマーク - コマンドラインで使うゴミ箱コマンド - rcmdnk's blog

結果としてどうなるかというと、trashで削除したファイルはMacの場合はゴミ箱フォルダの中に更にフォルダを掘ってその日の名前のフォルダに移動してくれる仕組みになっています。

WindowsLinuxでもそのまま動くそうですが、ゴミ箱ディレクトリは適当な場所になるのだとか。

使い方はrmコマンドに近いので僕はそのままrmエイリアスとして使っています。

# .bashrc
alias rm="trash -i" # -i は削除時に確認するオプション

インストール

この方のHomebrewのリポジトリからインストール可能です。

$ brew tap rcmdnk/rcmdnkpac # リポジトリを追加
$ brew install rcmdnk-trash # trashコマンド
$ brew install sentaku # 依存モジュール