Hatena::ブログ(Diary)

チキン煮込みチーズミックス4辛 このページをアンテナに追加 RSSフィード Twitter

2010-09-18

rmでゴミ箱に捨てる

twitterのTLを見ていたら、間違えてrmしてファイル消してしまったというツイートに対して、rmでいったんゴミ箱を経由すればいいんじゃないかという提案がなされていた。(下記の関連リンク1と2)

確かに自分はやっちゃいそうだ。この前も危うくnkfでソースファイル消しかけた*1くらいのうっかり者だし。ということで、いつか何かの役に立つかもしれないので、Mac用にメモ。

以下のaliasを設定。.bashrcとか.zshrcとかに追記。これだけ。

alias rm='mv -i ~/.Trash'

あら簡単!確かにこれでも良いけど、ゴミ箱に同じ名前のファイルがあったらいちいち上書きするか尋ねてくるってのも変なので、連番付けてmvできるように外部ツールをインストールcoreutilsってのを入れると、GNU Linux版のコマンドが使えるようになるらしい。関連リンク4そのまま。

% sudo port install coreutils

インストールが済むと、GNU Linux版のmvがgmvって名前で使えるようになるので、エイリアスをgmv使って書き換えてやる。

alias rm='gmv -f --backup=numbered --target-directory ~/.Trash'

このrmで同じ名前のファイルをいくつか削除したら、確かにゴミ箱の中のファイルに連番が!ゴミ箱を空にするには、バックスラッシュでalias無効にしてやればいいのかな。

% \rm ~/.Trash/*

cleartrashとか名前付けといた方が安全か。


ちなみに、port installするときに、with_default_namesのvariants指定してやればgmvじゃなくてmvにできるそうだ。あと、元のrmのオプションは効かないので注意。


関連リンク

  1. まちがえてrmしちゃったでござるのまきー
  2. @sakurako_s 一旦ゴミ箱に送りませんか http://bit.ly/cxf02T
  3. ゴミ箱をコマンドラインから扱う - programmer && engineer && developer
  4. Macでrmコマンドをより安全に使うための設定 - chulip.org
  5. .@delightfulworks ちなみに俺の設定。...

*1nkf -w hoge.cpp > hoge.cpp とかやると中身が空っぽになる。--overwriteオプションを使いましょう。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/yagiey/20100918/1284841276
Connection: close