その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

(決定版)rmコマンドでゴミ箱に移動する上に、undoを可能にするスクリプトを書きました

過去のバージョンはこちらです
rmコマンドを「ゴミ箱」の移動にした挙げ句、undoを可能にするスクリプト書きました

(改訂しました)rmコマンドを「ゴミ箱」の移動にした挙げ句、undoを可能にするスクリプト書きました

(更に改訂しました)undoコマンドの不具合が表出しました


表題の通り、

  • rm コマンドで対象となるファイルをゴミ箱ディレクトリに移動
  • undo (直近にrm したファイルを元の場所に戻す)ができる
  • いわゆる「ゴミ箱を空にする」を実行できる

というスクリプトです。


大まかな動作の説明をすると、HOME ディレクトリに
.Trash という名前のディレクトリを作成し、
$rm hoge
を実行すると、タイムスタンプを取得してきて、.Trash ディレクトリ以下に
取得したタイムスタンプがディレクトリ名となったディレクトリを作成し、
その下にrm したファイルが移動します。
例えば、
$rm hoge を2012年2月14日1時30分30秒に実行すると、hoge ファイルは
.Trash/20120214013030/hoge に移動する訳です。


で、undo を実行すると、.Trash ディレクトリ以下のディレクトリ一覧から
最新のタイムスタンプを持ったディレクトリを探してきて、
そのディレクトリの中身を元の場所に戻します。


で、ゴミ箱を空にするコマンドを実行すると、.Trash ディレクトリの中身が
一瞬にして電子的墓地に葬り去られます。


まあ、こんな感じの単純なスクリプトだったんですが、
使っていくうちに不具合が出てきていたので、その都度バグを潰していました。
で、最後のバグを潰してから1ヶ月近くこのスクリプトを利用してきましたが、
これといって目立ったバグが表出してこなくなったので、
「そろそろ決定版という事でいいだろう!」という事で、今回決定版といたしました。


という訳で、決定版はこちらになります。
moznion / Implement_Trashbox - GitHub
詳しくはREADMEをお読み頂けると助かります。


そんな感じでした。