使用rm將檔案移到回收站

GeekWay發表於2014-05-24

沒有反饋就是最好的反饋——Unix互動方式


在貼吧上時經常發現有人欺負新人,說使用rm -rf /可以看得精彩的效果,他老實地聽了,結果....結果確實挺‘精彩’的,把整個系統都幹掉了。

rm的功能實在太強大,有時候刪掉的檔案直接找不回來,我們不得不慎用,但我們總不能像對待定時炸彈一樣使用我們的Linux。這麼說來,都有點懷念Windows下的回收站了,Linux是有回收站功能的,但使用rm命令預設是不經過回收站的,有沒有方法解決這個問題呢?有高手已經‘先我們之急’解決這個問題了,這就是我要記錄的主題:trash-cli。

trash-cli就是帶有回收站(Trash)功能的命令列刪除工具,其主要特點有

  • 相容rm命令列介面,可以alias rm為trash-cli
  • 為刪除的每一個檔案記錄原始路徑,刪除時間和檔案訪問許可權
  • 相容GNOME和KDE桌面的trash,實現桌面和terminal操作的統一
  • 實現了FreeDesktop.org Trash Specification
  • 支援除home檔案系統以外的其他檔案系統,比如不同的分割槽或移動裝置分割槽


下面我們安裝配置一下這個工具。

  • 安裝
    嘗試了下,庫裡是有這個工具的,但是聽說版本較低,而且有bugs,我們還是從github上獲取最新的版本吧:https://github.com/andreafrancia/trash-cli 解壓後,進入目錄,執行下面的命令安裝:
sudo python setup.py install

成功後,我們進入配置檔案配置以下rm這個命令,讓其接管trash-put(下面會講)的功能。

  • 配置trach-cli
    開啟.bashrc
$vim ~/.bashrc

新增一行

alias rm=‘trash-put‘
alias lstrash=‘trash-list‘

最後注意不要忘了執行以下點命令,讓剛才修改的配置檔案立即生效

source ~/.bashrc

這個命令的好處是不用登出和重新登入。

下面我們就可以鬆開雙手使用rm命令,而不必擔心找不回資料了。

下面是一些比較常用的trash命令:

trash-put           trashes files and directories.
trash-empty         empty the trashcan(s).
trash-list          list trashed file.
trash-restore       restore a trashed file.
trash-rm            remove individual files from trash can.


注:這個方法非常好用,trash-cli的作者起初也認為這是一個好的方法,但是他後來反悔了。他認為如果使用“rm -R”會刪除所有的目錄,但是trash不能。但是如果我們並不常用這個帶有-R的命令,我們還是可以盡情的使用本文設定的命令。

Reference:

http://openwares.net/linux/rm_to_trash.html
http://zpz.name/1810/
http://blog.csdn.net/simon_dong618/article/details/1581132

相關文章