把刪除建立爲 rm -i 的別名html
當 -i 選項配合 rm 命令(也包括其餘文件處理命令好比 cp 或者 mv)使用時,在刪除文件前會出現一個提示。這一樣也能夠運用到當複製,移動或重命名一個文件,當所在位置已經存在一個和目標文件同名的文件時。linux
這個提示會給你第二次機會來考慮是否真的要刪除該文件 - 若是你在這個提示上選擇肯定,那麼文件就被刪除了。這種狀況下,很抱歉,這個技巧並不能防止你的粗枝大葉。shell
爲了 rm -i 別名替代 rm ,這樣作:bash
alias rm='rm -i'
運行 alias 命令能夠肯定 rm 如今已經被別名了:工具
然而,這隻能在當前用戶的當前 shell 上有效。爲了永久改變,你必須像下面展現的這樣把它保存到 ~/.bashrc 中(一些版本的 Linux 系統多是 ~/.profile)。測試
爲了讓 ~/.bashrc(或 ~/.profile)中所作的改變當即生效,從當前 shell 中運行文件:htm
. ~/.bashrc
取證工具-Foremostrem
然而,當你意識到你意外的刪除了系統中的一個文件並感到恐慌時-不用擔憂。讓咱們來看一看 foremost,一個用來處理這種情況的取證工具。get
CentOS/RHEL 7 中安裝 Foremost,須要首先啓用 Repoforge:/strong>it
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm # yum install foremost
在 Debian 及其衍生系統中,需這樣作:
# aptitude install foremost
安裝完成後,咱們作一個簡單的測試吧。首先刪除 /boot/images 目錄下一個名爲 nosdos.jpg 的圖像文件:
# cd images # rm nosdos.jpg
要恢復這個文件,以下所示使用 foremost(要先確認所在分區 - 本例中, /boot 位於 /dev/sda1 分區中)。
# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued
其中,/home/gacanepa/rescued 是另一個磁盤中的目錄 - 請記住,把文件恢復到被刪除文件所在的磁盤中不是一個明智的作法。若是在恢復過程當中,佔用了被刪除文件以前所在的磁盤分區,就可能沒法恢復文件。另外,進行文件恢復操做前不要作任何其餘操做。
當 foremost 執行完成之後,恢復的文件(若是能夠恢復)將可以在目錄 ·/home/gacanepa/rescue/jpg` 中找到。
總結
在這篇文章中,咱們闡述瞭如何避免意外刪除一個不應刪除的文件,以及萬一這類事情發生,如何恢復文件。還要警告一下, foremost 可能運行很長時間,時間長短取決於分區的大小。
若是您有什麼問題或想法,和往常同樣,不要猶豫,告訴咱們。能夠給咱們留言。