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のオプションは効かないので注意。
関連リンク
zsh最強シェル入門
ということで、ぽちった。どういうわけかscreenの説明に1章分を割いてくれているようだ。
- 作者: 中島能和
- 出版社/メーカー: 翔泳社
- 発売日: 2008/12/04
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 175回
- この商品を含むブログ (50件) を見る
screen初めの一歩
インストールのエントリだけだとアレなので、ちょびっと触ってみる。screenの設定は先日の~/.screenrcと同じという前提で。^] は Ctrl + ] の意味で、emacs的には C-] と同じ。
Route 477
起動
%screen
screenを起動すると*1、以下のようなスプラッシュスクリーンが出るけど、エンターかスペースを押せば消える。
今はwindowが1個しかない状態。最下部にあるemacsのモードラインみたいな
screen | 0* zsh-4.3.10 |
ってのが今の状態を表しているっぽい。つまり、0番目のwindowを表示していて(アスタリスクがついている)、zshが動いている、ということかな。普通にemacsを起動して何かやってみる。
あれ?windowの名前がzsh-4.3.10のままだ...。どうやら今実行しているコマンドの名前が表示される訳ではないっぽい。実行中のコマンド名を表示させたければ、~/.zshrcとかいじればできるんかな。
新しいwindowを作る
emacsで何かやってる途中で、コマンド打つ必要が出てきたら、^]c して新しいwindow作ってみる。上の画像の状態でやってみると
となる。新しいwindowの番号は1であり、1の右側にアスタリスクが表示されているので、今は1番のwindowが表示されているってことが分かる。
さて、新しく作ったwindowで何かしよう。何をしよう...。ま、なんでも良いや。
windowの移動
ひとしきり仕事が終わってまたemacsのwindowに戻る場合は、^]0 してやる。最後の0はwindowの番号*2。^] ^] でも良いらしい。こっちは直前のwindowに戻るのだと。
さて、無事emacsに戻れた。
windowを閉じる
emacsでの仕事が終わったら、emacs終わってシェルをexitしてやれば0番のwindowが消える。emacs終わらなくても ^]k でwindowを殺せるっぽい?
上の状態で ^]k すると、下の状態になる。
emacsのwindowを終了したら、1番のwindowしかないので、こいつもexitでシェルを終わってやるとか ^]k すればscreenが終わる。
けど!screen終了するのちょっと待って!