linux下(ubuntu)反刪除(誤刪恢復)與回收站制作


  剛剛有個小伙伴不小心刪了他寫了好幾的天代碼,為他心疼之余幫他找回了文件。

  想到我之前也常常誤刪一些文件,就干脆分享一下我的反刪除方法,並說說我做的回收站(好low的,求大神指點)

 

  首先是反刪除軟件extundelete。在ubuntu下安裝方法很簡單,如下:

sudo apt-get install extundelete

 

  我用的是它最簡單的功能:

extundelete /dev/sda1 --after 1480928228 --restore-all 

  這句話的意思是恢復絕對時間1480928228之后被刪除的所有文件(至少我是這么理解的Orz),在哪個文件夾里誤刪了就在哪里執行

  PS:我每次用它的時候都切換了root,畢竟自己的虛擬機

 

  這個絕對時間用以下語句獲得:

date +%s

 

  下面介紹一下我的渣渣回收站:

  基本思路就是把rm命令替換成mv,把文件移動到指定的文件夾里。這里我用了一個腳本來實現:

  1、家目錄下創建文件夾(貌似可不用)

mkdir .trash

 

  2、家目錄下編寫腳本

 

.trash.sh

1 #!/bin/bash                                                                                                                
2   
3 datestr=$(date +%Y_%m_%d_%H_%M_%S)
4    
5 mkdir -p ~/.trash/$datestr
6    
7 mv $@ ~/.trash/$datestr/

  說明一下,我是以刪除的年、月、日、時、分、秒來做為文件夾名,這樣在找回的時候比較方便0。0

 

  (2016.12.7補充)漏了一條,要設置.trash.sh的可執行權限--!

chmod +x .trash.sh

 

 

  3、家目錄下.bashrc文件最后添加:

alias rm=~/.trash.sh

 

  這樣,我就做好回收站了。

  這個回收站其實會有一些問題,比如使用rm的時候帶 “-f”之類,會提示mv的錯誤;再比如,“刪除”的文件多了,回收站占的空間就大了,文件實際還是存在的。這時候我都是在window下對其進行永久刪除的,這里就要用到諸如WinSCP的軟件了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM