自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux誤刪文件恢復(fù)命令及方法

系統(tǒng) Linux
使用rm命令刪除文件的時(shí)候,一定要小心;重要的數(shù)據(jù)一定要有備份;并且恢復(fù)刪除的數(shù)據(jù)前,刪除文件的目錄內(nèi)不能往進(jìn)存放新東西,否則覆蓋掉的信息無(wú)法找回。

 [[357087]]

前言

無(wú)論在哪個(gè)系統(tǒng)中,刪除文件都是必須謹(jǐn)慎的操作。

因?yàn)槿绻恍⌒膭h除了重要文件,就會(huì)導(dǎo)致個(gè)人或公司出現(xiàn)重大的損失。

類(lèi)似于windows系統(tǒng)誤刪了文件,可以使用一些軟件進(jìn)行恢復(fù)操作。Linux也是有幾款軟件可以做到誤刪恢復(fù)的。

注意事項(xiàng):雖然有軟件可以對(duì)誤刪的數(shù)據(jù)進(jìn)行恢復(fù),但是完全恢復(fù)數(shù)據(jù)的概率并不是百分百的。

因此,使用rm命令刪除文件的時(shí)候,一定要小心;重要的數(shù)據(jù)一定要有備份;并且恢復(fù)刪除的數(shù)據(jù)前,刪除文件的目錄內(nèi)不能往進(jìn)存放新東西,否則覆蓋掉的信息無(wú)法找回。

下面介紹的就是對(duì)Linux中誤刪文件的恢復(fù)操作。

1、lsof

原理:

這個(gè)命令實(shí)際上并不能直接用來(lái)恢復(fù)文件,不過(guò)它可以列出被各種進(jìn)程打開(kāi)的文件信息。

配合其他命令,從/proc目錄下的信息中恢復(fù)“文件已刪除,但進(jìn)程仍保持打開(kāi)該文件的狀態(tài)”的文件。

/proc目錄是掛載的是在內(nèi)存中所映射的一塊區(qū)域,當(dāng)我們對(duì)這些文件進(jìn)行讀取和寫(xiě)入時(shí),實(shí)際上是在從內(nèi)存中獲取相關(guān)信息。

因此,當(dāng)我們對(duì)文件進(jìn)行讀取或?qū)懭霑r(shí)(即有進(jìn)程正使用文件時(shí)),哪怕硬盤(pán)中的該文件已刪除,還可以從內(nèi)存中的信息恢復(fù)文件。

注意:

必須以 root 用戶的權(quán)限運(yùn)行, 因?yàn)閘sof 需要訪問(wèn)核心內(nèi)存和各種文件。

只能恢復(fù)“文件已刪除,但進(jìn)程仍保持打開(kāi)該文件的狀態(tài)”的文件。

如果誤刪了目錄,目錄中的其他文件未被進(jìn)程打開(kāi),沒(méi)有進(jìn)行使用的文件將無(wú)法使用此方法恢復(fù)。

lsof輸出信息的意義:

 

  1. COMMAND       進(jìn)程的PID(進(jìn)程標(biāo)識(shí)符)  
  2. USER          進(jìn)程所有者  
  3. FD            用來(lái)識(shí)別該文件(文件描述符)  
  4. DEVICE        指定磁盤(pán)的名稱  
  5. SIZE          文件的大小  
  6. NODE          索引節(jié)點(diǎn)(文件在磁盤(pán)上的標(biāo)識(shí))  
  7. NAME          打開(kāi)文件的確切名稱 

最常用參數(shù): 

  1. -c       顯示某進(jìn)程現(xiàn)在打開(kāi)的文件  
  2. -p       顯示哪些文件被某pid進(jìn)程打開(kāi)  
  3. -g       顯示歸屬某gid的進(jìn)程情況  
  4. -d       顯示目錄下被進(jìn)程開(kāi)啟的文件  
  5. -d       顯示使用fd為4的進(jìn)程  
  6. -i:80    顯示打開(kāi)80端口的進(jìn)程 

恢復(fù)文件操作

環(huán)境:

在/mnt下有一些文件,其中一個(gè)文件train.less正在被查看,然后另一個(gè)終端將其刪除

【1】lsof查看

查看正在使用刪除文件的進(jìn)程號(hào) 

  1. lsof /mnt 

【2】恢復(fù)

切換到/proc下,刪除文件對(duì)應(yīng)的進(jìn)程的pid下的文件描述符中的目錄中;將對(duì)應(yīng)的內(nèi)容重定向或cp到其他文件中

重點(diǎn)關(guān)注:PID 與 FD   

  1. cd /proc/31284/fd/  
  2. cat 4 > /mnt/ferris_train.less 

2、extundelete

原理:

使用存儲(chǔ)在分區(qū)日志中的信息,嘗試恢復(fù)已從ext3或ext4的分區(qū)中刪除的文件

優(yōu)點(diǎn):

相比于ext3grep只能恢復(fù)ext3文件系統(tǒng)的文件,其適用范圍更廣,恢復(fù)速度更快

extundelete官方地址(官方文檔):

http://extundelete.sourceforge.net

extundelete下載地址:

http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

(最新版本的extundelete是0.2.4,于2013年1月發(fā)布)

注意:

  •  在數(shù)據(jù)刪除之后,要卸載被刪除數(shù)據(jù)所在的磁盤(pán)或是分區(qū)
  •  如果是系統(tǒng)根分區(qū)遭到誤刪除,就要進(jìn)入單用戶模式,將根分區(qū)以只讀的方式掛載,盡可能避免數(shù)據(jù)被覆蓋
  •  數(shù)據(jù)被覆蓋后無(wú)法找回
  •  恢復(fù)仍有一定的機(jī)率失敗,平時(shí)應(yīng)對(duì)重要數(shù)據(jù)作備份,小心使用rm

安裝

1、依賴安裝 

  1. centos安裝操作  
  2. yum install e2fsprogs-devel   e2fsprogs* gcc*  
  3. ubuntu安裝操作  
  4. apt-get install build-essential  e2fslibs-dev  e2fslibs-dev 

2、編譯安裝 

  1. wget http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  
  2. tar xf  extundelete-0.2.4.tar.bz2  
  3. cd  extundelete-0.2.4  
  4. ./configure  
  5. make  
  6. make install 

 

  1. cd /root/extundelete-0.2.4/src 

 

  1. extundelete -v 

執(zhí)行make命令會(huì)在src目錄下生成extundelete可執(zhí)行文件,可在此直接執(zhí)行恢復(fù)命令。

執(zhí)行make install會(huì)將程序安裝在/usr/local/bin/下

恢復(fù)文件操作

執(zhí)行extundelete命令的當(dāng)前目錄必須是可寫(xiě)的。

1、查看要恢復(fù)文件的分區(qū)的文件系統(tǒng) 

  1. df  -Th 

2、對(duì)要恢復(fù)文件的分區(qū)解除掛載 

  1. umount /mnt 

3、查看可以恢復(fù)的數(shù)據(jù)

指定誤刪文件的分區(qū)進(jìn)行查找

最后一列標(biāo)記為Deleted的文件,即為刪除了的文件 

  1. extundelete /dev/vdb1 --inode 2 (根分區(qū)的inode值是2) 

4、恢復(fù)單個(gè)目錄

指定要恢復(fù)的目錄名

如果是空目錄,則不會(huì)恢復(fù) 

  1. extundelete /dev/vdb1 --restore-directory  ferris 

當(dāng)執(zhí)行恢復(fù)文件的命令后,會(huì)在執(zhí)行命令的當(dāng)前的目錄下生成RECOVERED_FILES目錄,恢復(fù)的文件都會(huì)放入此目錄中。如未生成目錄,即為失敗。

5、恢復(fù)單個(gè)文件

指定要恢復(fù)的文件名

如果幾k大小的小文件,有很大幾率恢復(fù)失敗 

  1. extundelete /dev/vdb1 --restore-file openssh-7.7p1.tar.gz 

6、恢復(fù)全部刪除的文件

無(wú)需指定文件名或目錄名,恢復(fù)全部刪除的數(shù)據(jù) 

  1. extundelete /dev/vdb1 --restore-all 

 

 

責(zé)任編輯:龐桂玉 來(lái)源: 良許Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)