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

超全!Linux誤刪文件恢復命令及方法

系統(tǒng) Linux
下面介紹的就是對Linux中誤刪文件的恢復操作。一起來看一下吧。

[[355687]]

 前言

無論在哪個系統(tǒng)中,刪除文件都是必須謹慎的操作。因為如果不小心刪除了重要文件,就會導致個人或公司出現重大的損失。類似于windows系統(tǒng)誤刪了文件,可以使用一些軟件進行恢復操作。Linux也是有幾款軟件可以做到誤刪恢復的。

注意事項:雖然有軟件可以對誤刪的數據進行恢復,但是完全恢復數據的概率并不是百分百的。

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

下面介紹的就是對Linux中誤刪文件的恢復操作。

1、lsof

原理:這個命令實際上并不能直接用來恢復文件,不過它可以列出被各種進程打開的文件信息。

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

/proc目錄是掛載的是在內存中所映射的一塊區(qū)域,當我們對這些文件進行讀取和寫入時,實際上是在從內存中獲取相關信息。

因此,當我們對文件進行讀取或寫入時(即有進程正使用文件時),哪怕硬盤中的該文件已刪除,還可以從內存中的信息恢復文件。

注意:

  •  必須以 root 用戶的權限運行, 因為lsof 需要訪問核心內存和各種文件。
  •  只能恢復“文件已刪除,但進程仍保持打開該文件的狀態(tài)”的文件。
  •  如果誤刪了目錄,目錄中的其他文件未被進程打開,沒有進行使用的文件將無法使用此方法恢復。

lsof輸出信息的意義:

 

  1. COMMAND       #進程的PID(進程標識符)  
  2. USER          #進程所有者  
  3. FD            #用來識別該文件(文件描述符)  
  4. DEVICE        #指定磁盤的名稱  
  5. SIZE          #文件的大小  
  6. NODE          #索引節(jié)點(文件在磁盤上的標識)  
  7. NAME          #打開文件的確切名稱 

最常用參數: 

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

恢復文件操作

環(huán)境:在/mnt下有一些文件,其中一個文件train.less正在被查看,然后另一個終端將其刪除

【1】lsof查看

查看正在使用刪除文件的進程號 

  1. lsof /mnt 

【2】恢復

切換到/proc下,刪除文件對應的進程的pid下的文件描述符中的目錄中;將對應的內容重定向或cp到其他文件中。

重點關注:PID 與 FD 

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

2、extundelete

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

優(yōu)點:相比于ext3grep只能恢復ext3文件系統(tǒng)的文件,其適用范圍更廣,恢復速度更快

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ā)布)

注意:

  •  在數據刪除之后,要卸載被刪除數據所在的磁盤或是分區(qū)
  •  如果是系統(tǒng)根分區(qū)遭到誤刪除,就要進入單用戶模式,將根分區(qū)以只讀的方式掛載,盡可能避免數據被覆蓋
  •  數據被覆蓋后無法找回
  •  恢復仍有一定的機率失敗,平時應對重要數據作備份,小心使用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命令會在src目錄下生成extundelete可執(zhí)行文件,可在此直接執(zhí)行恢復命令。
  •  執(zhí)行make install會將程序安裝在/usr/local/bin/下

恢復文件操作

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

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

  1. df  -Th 

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

  1. umount /mnt 

3、查看可以恢復的數據

指定誤刪文件的分區(qū)進行查找,最后一列標記為Deleted的文件,即為刪除了的文件。 

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

4、恢復單個目錄

指定要恢復的目錄名,如果是空目錄,則不會恢復。 

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

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

5、恢復單個文件

指定要恢復的文件名,如果幾k大小的小文件,有很大幾率恢復失敗。 

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

6、恢復全部刪除的文件

無需指定文件名或目錄名,恢復全部刪除的數據。 

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

 

 

責任編輯:龐桂玉 來源: 民工哥技術之路
相關推薦

2021-06-28 12:05:04

Linux文件命令

2020-12-11 11:00:17

Linux文件命令

2016-11-17 12:46:45

2010-08-23 09:20:57

2010-08-18 15:14:08

DB2恢復命令

2009-12-21 16:17:01

2011-08-22 15:39:38

Linux

2020-09-30 06:00:00

Linux誤刪除恢復文件

2017-07-14 15:49:05

MongoDB誤刪表恢復步驟

2017-01-12 19:22:19

Linuxlsof命令恢復刪除的文件

2018-12-11 11:13:25

Linux系統(tǒng)恢復

2009-08-04 08:32:06

Linux Find命Linux Find使用方法

2019-01-02 10:32:56

Linux系統(tǒng)文件運維

2010-08-12 15:43:24

DB2數據庫備份

2013-06-05 11:41:53

2022-12-01 14:02:02

MySQL數據文件

2010-08-17 13:19:39

DB2數據庫備份

2015-09-06 15:14:35

云故障阿里云

2009-08-04 09:37:34

Linux創(chuàng)建文件命令Linux創(chuàng)建文件命令

2016-12-22 09:02:35

Linux誤刪文件
點贊
收藏

51CTO技術棧公眾號