在第一種情況下,你可以到垃圾箱,搜索那個文件,然後把它復原到原始位置。但是第二種情況又該怎麼辦呢?你可能知道,Linux 命令行不會把刪除的文件轉移到任何位置,而是直接把它們移除了,biu~,它們就不復存在了。
在這篇文章裡,將分享一個很有用的技巧來避免此事發生。同時,也會分享一個工具,不小心刪除了某些不該刪除的文件時,也許用得上。
步驟把刪除創建為rm -i 的別名當-i選項配合rm命令(也包括其他文件處理命令比如 cp 或者 mv)使用時,在刪除文件前會出現一個提示。
這同樣也可以運用到當復制,移動或重命名一個文件,當所在位置已經存在一個和目標文件同名的文件時。
這個提示會給你第二次機會來考慮是否真的要刪除該文件 - 如果你在這個提示上選擇確定,那麼文件就被刪除了。這種情況下,很抱歉,這個技巧並不能防止你的粗心大意。
為了rm -i別名替代rm,這樣做:
alias rm='rm -i'
運行alias命令可以確定rm現在已經被別名了:
為 rm 增加別名
然而,這只能在當前用戶的當前 shell 上有效。為了永久改變,你必須像下面展示的這樣把它保存到~/.bashrc中(一些版本的 Linux 系統可能是~/.profile)。
在 Linux 中永久增添別名
為了讓~/.bashrc(或~/.profile)中所做的改變立即生效,從當前 shell 中運行文件:
. ~/.bashrc
在 Linux 中激活別名
取證工具-Foremost但願你對於你的文件足夠小心,當你要從外部磁盤或 USB 設備中恢復丟失的文件時,你只需使用這個工具即可。
然而,當你意識到你意外的刪除了系統中的一個文件並感到恐慌時-不用擔心。讓我們來看一看foremost,一個用來處理這種狀況的取證工具。
要在 CentOS/RHEL 7 中安裝 Foremost,需要首先啟用 Repoforge:
# 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可能運行很長時間,時間長短取決於分區的大小。
原文來自:https://linux.cn:443/article-7974-1.html
本文地址:http://www.linuxprobe.com/rm-on-linux.html
http://www.bkjia.com/Linuxjc/1191987.html TechArticle