Carpe Diem

備忘録。https://github.com/jun06t

rmコマンドで削除をゴミ箱への移動

以前rm -rfでファイルを削除してしまったので、このコマンドを入力したときにゴミ箱に移動されるように設定します。 Trash-cliが必要なのでインストール。これはコマンドラインでゴミ箱を操作するツールです。 $ sudo aptitude install trash-cli 次に設定ファイルの作成 $ sudo emacs -nw /usr/bin/trash-rm このtrash-rmに以下をコピペ #!/bin/bash # command name: trash-rm shopt -s extglob recursive=1 declare -a cmd *1 for f in "$@" do  case "$f" in      (-*([fiIv])r*([fiIv])|-*([fiIv])R*([fiIv]))         tmp="${f//[rR]/}"      if [ -n "$tmp" ]      then             #echo "$tmp == $tmp"          cmd[$i]="$tmp"       *2      fi      recursive=0 ;;      (--recursive) recursive=0 ;;      (*)          if [ $recursive != 0   -a  -d "$f" ]    then     echo "skipping directory: $f"     continue    else     cmd[$i]="$f"     *3    fi ;;  esac done trash "${cmd[@]}" ※Ubuntu12.04ではtrashコマンドではなくtrash-putコマンドになるため、最後の一行をtrash-putに変更してください。 保存後、このファイルに実行権限をつけます。 $ sudo chmod +x /usr/bin/trash-rm 最後にrmコマンドにAliasを設定。.bashrcの最後に以下の一行を加えます。 alias rm="trash-rm" ※ sudo rm をすると root の.bashrc が使われるのでゴミ箱に入りません。なのでrootの.bashrcにも追記しておきましょう。 最後に.bashrcを読み込みなおします。 $ source .bashrc aliasコマンドでちゃんと登録されているのを確認して完了 $ alias alias rm='trash-rm'trash-cliの使い方◆ trash-cliがあるとゴミ箱操作を端末で行えます。 ファイルを削除する。削除されたファイルはゴミ箱に移動します。 $ trash ファイル名 ゴミ箱の中身を見る $ list-trash ※12.04では $ trash-list になっていました ゴミ箱からファイルを復活させる $ restore-trash 実行すると以下のよう選択画面が出ますので、復活させたいファイルの番号を入力するだけです。復活させたファイルはちゃんと元の場所に戻っていることに注目して下さい。

 0 2008-10-03 19:19:22 /home/foo/Desktop/po_dpkg-ja.po.org
 1 2008-10-06 15:02:23 /home/foo/Desktop/1222662276502.jpg
 2 2008-10-03 19:19:22 /home/foo/Desktop/po_dpkg-ja.po
 3 2008-10-07 13:13:49 /home/foo/trash-test
What file to restore [0..3]: 3
ゴミ箱を空にする $ empty-trash 指定した日数以前のファイルをゴミ箱から削除する $ empty-trash 日数 empty-trash に例えば 7 という数値を与えてあげると今日の日にちから7日以前のファイルをゴミ箱から削除します。 ソース: rmコマンドで削除をゴミ箱への移動にする方法 ubuntuのゴミ箱をコマンドラインから操作する Make "rm" Move Files To Trash Instead Of Completely Removing Them ~ Web Upd8: Ubuntu / Linux blog

*1:i = 0

*2:i++

*3:i++