Ubuntu のゴミ箱を rm と連動させてより安全に
rm はファイルやディレクトリ完全に消し去るのでかなり危険.オプションで確認の問い合わせをすることもできるが,普段はそんな面倒くさいことはしないので間違って実行してしまった経験は誰にでもあると思われる.そこで,より安全にrmを使うために,Ubuntu(Gnome)のゴミ箱を利用する.完全に削除せずに,一旦ゴミ箱に入れる.
trash-cliをインストール
trash-cliはコマンドラインからゴミ箱を操作するツール.特徴はなんと言ってもUbuntuのゴミ箱と連動できること.独自にゴミ箱を作ったりしていた人にはこの素晴らしさがわかるはず.
aptでインストールする.
% sudo aptitude install trash-cli
使い方
使い方は簡単.以下の通り.
trash ファイル名 | ファイルを削除する |
list-trash | ゴミ箱の中身を見る |
restore-trash | ゴミ箱からファイルを復元する |
empty-trash | ゴミ箱を空にする |
empty-trash 日数 | 指定した日数以前のファイルをゴミ箱から削除する |
ここで,rm と連動するために trash コマンドを置き換える.
~/.bashrcに以下を追記 (zshを使っていれば~/.zshrc).
alias rm='trash'
記述したら以下のコマンドで反映させる (zshを使っていればここも当然~/.zshrc).
% source ~/.bashrc
ディレクトリを削除するときも -r を付けなくても良い.便利.
また,どうしても rm 自体を使いたくなったら以下の方法で呼び出せばよい.
% \rm
または
% /bin/rm
以前まで使っていた方法
ちなみに,以前は下記を参考にゴミ箱を実装していた.
~/.zshrc に以下を記述.
function rm() { if [ -d ~/.trash ]; then local DATE=`date "+%y%m%d-%H%M%S"` mkdir ~/.trash/$DATE for i in $@; do if [ -e $i ]; then mv $i ~/.trash/$DATE/ else echo "$i : not found" fi done else /bin/rm $@ fi }UNIX今日の技 - UNIX今日の技/シェル
使い方は,
% mkdir ~/.trash
してやって,あとは rm したら ~/.trash 以下に日付のディレクトリを作って放り込んでくれる.
最初の trash-cli を使う方が便利だけど,デスクトップ環境がない場合はこの方法を使うと良いかも.
(2011/01/16追記)
参考URLが消えているみたいなので,ゴミ箱を空にするコマンドは以下を参照.
Ubuntuで指定した日数より前のファイルをまとめて削除する - Everyday Programmer