1. 程式人生 > >linux下如何恢復rm命令刪除的檔案

linux下如何恢復rm命令刪除的檔案

在linux下rm -rf 是一個很可怕的命令,因為下達這個命令意味著一旦刪除的檔案是無法挽回的,事實是如此嗎?真的沒有補救措施了嗎?答案是委婉了,在一定的條件下可以補救,大家可能熟悉windows下刪除的補救措施是通過相關的軟體實現的,在linux下同樣可以做到補救,但是有個大前提:就是不能有覆蓋的動作(意思就是在嘗試恢復刪除的資料前,刪除檔案的目錄內不能存放新東西),不然覆蓋多少就損失多少!

這裡用到的套件是ext3grep、系統必須預設的安裝上e2fsprogs-lib、2fsprogs-devel、e2fsprogs5、gcc、gcc++這些軟體
[[email protected]

~]# rpm -qa|grep e2fsprogs
e2fsprogs-libs-1.39-23.el5
e2fsprogs-devel-1.39-23.el5
e2fsprogs-1.39-23.el5

原始碼安裝ext3grep
 [[email protected] ~]# llext3grep-0.10.2.tar.gz
-rw-r--r-- 1 root root 236364 Oct 17 2011 ext3grep-0.10.2.tar.gz

[[email protected]~]# tar zxvf ext3grep-0.10.2.tar.gz
[[email protected]

~]# cd ext3grep-0.10.2
[[email protected] ext3grep-0.10.2]# ./configure
[[email protected] ext3grep-0.10.2]# make && make install
[[email protected] ~]# ll /usr/local/bin
total 2656
-rwxr-xr-x 1 root root 2709704 Oct 15 04:46 ext3grep   //www.linuxidc.com這句是那個可執行檔案

接下來演示一個補救的過程例項

[[email protected]

~]# mkdir /data/ /ixdba/

[[email protected]]# dd if=/dev/zero of=data-disk bs=1M count=105
[[email protected] data]# mkfs.ext3 data-disk  //格式為ext3的檔案系統,在出現的提示符處輸入y
[[email protected] data]# mount -o loop /data/data-disk /ixdba/  //掛載
[[email protected] data]# cp /etc/host* /ixdba/ //往裡邊放檔案
[[email protected] data]# cp /etc/passwd /ixdba/
[[email protected] data]# cd /ixdba/
[[email protected] data]# rm -rf *   //製造刪除的動作
[[email protected] data]# cd /data/

[[email protected]]# ext3grep /data/data-disk --ls --inode 2  //檢視丟失的檔案

[[email protected]]# ext3grep /data/data-disk --restore-file passwd  //僅僅恢復passwd這個檔案
[[email protected] data]# ext3grep /data/data-disk --restore-all    //恢復的動作,全部恢復

[[email protected]]# ls
data-disk  data-disk.ext3grep.stage1  data-disk.ext3grep.stage2  RESTORED_FILES
[[email protected] data]# ll RESTORED_FILES/      //所有恢復的檔案全在這個資料夾裡存放,都找回來了
total 48
-rw-r--r-- 1 root root   17 Oct 15 06:03host.conf
-rw-r--r-- 1 root root  187 Oct 15 06:03hosts
-rw-r--r-- 1 root root  161 Oct 15 06:03hosts.allow
-rw-r--r-- 1 root root  347 Oct 15 06:03hosts.deny
drwx------ 2 root root 4096 Oct 15 06:04 lost+found
-rw-r--r-- 1 root root 1635 Oct 15 06:03 passwd

總結:這裡只能實現的是首次恢復的動作,並且不能有覆蓋的動作。

注意:

1.      ext3grep後面跟的是分割槽名稱,不是目錄名

2.      --restore-file恢復指定檔案,對路徑名有特殊要求,具體請自己用—help檢視

3.      所有恢復的檔案放到該分割槽下的RESTORED_FILES目錄,不是原目錄

4.      關於所需的安裝包,可以在系統光碟、SDK光碟上找。例如我就在suse11sp1的系統光碟和SDK光碟中找到所需的所有rpm包(不過ext3grep的原始碼包還是在網上下的)。實在不行也可以到網上去下載。

相關推薦

linux如何恢復rm命令刪除檔案

在linux下rm -rf 是一個很可怕的命令,因為下達這個命令意味著一旦刪除的檔案是無法挽回的,事實是如此嗎?真的沒有補救措施了嗎?答案是委婉了,在一定的條件下可以補救,大家可能熟悉windows下刪除的補救措施是通過相關的軟體實現的,在linux下同樣可以做到補救,但是

linux修改rm命令防止誤刪除

寫上 linu rm -rf 目錄權限 執行權限 一個 remove 但是 bsp 前言:相信很多朋友都遇到過在linux下用rm命令誤刪除文件的時候,此刻的心中仿佛有無數的羊駝在奔騰。那麽怎麽防止這種情況發生呢?當然是有方法的,我們可以寫一個shell腳本,改變一下rm命

替代Linuxrm命令

linux方式一:自己編寫腳本編寫腳本del.sh#!/bin/bashTMP_DIR="/tmp/trash_tmp"mv $@ $TMP_DIRchmod +x /home/scripts/del.shmkdir -p /tmp/trash_tmpchmod 777 /tmp/trash_tmpvim .

linux解決rm 反向刪除報錯syntax error near unexpected token `('的問題

程式碼: #!/bin/bash service csrasm stop sleep 5 service csrass stop sleep 10 cd /etc/csrass rm -fr !(csrass.srd) service csrasm start service csrass star

Linux禁用rm命令之建立回收站】

第一步 建立回收站目錄 # 根據自己的習慣,找個位置建立一個用作回收檔案的目錄 # 我們這裡將在root目錄下面建立一個名為".trash"的隱藏檔案 [[email protected] ~]# mkdir .trash 第二步 建立回收站指

Linux使用scp命令進行檔案遠端拷貝

scp是 secure copy的縮寫, scp是Linux系統下基於ssh登陸進行安全的遠端檔案拷貝命令。Linux的scp命令可以在Linux伺服器之間複製檔案和目錄。 使用語法:scp  [引數] [源路徑] @IP:/目標路徑 scp 引數如下: -1: 強制scp命令使用協

Linux修改rm命令為mv,使rm命令原有功能失效

  Linux下修改rm命令,防止誤刪 2017年03月03日 14:34:33 執念丶丶 閱讀數:1570 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Ace_Shiyuan/article/detai

linux如何恢復rm命令

如果linux系統的某個命令,如rm不能用了,提示bash: rm: command not found,說明rm命令檔案被刪除了。新增方法如下: 1、進入/bin目錄,從別外下載一個rm檔案命令檔案,上傳至該目錄中。

Linux 利用find命令刪除所有.svn目錄

====================例項============== 刪除所有.svn目錄 這也是我當初查詢 Linux find 命令的目的。 1)  find . -type d -name ‘.svn’ | xargs rm -rf #先(遞迴)找到當

Linuxrm刪除檔案恢復方法

對於rm,很多人都有慘痛的教訓。我也遇到一次,一下午寫的程式就被rm掉了,幸好只是一個檔案,第二天很快又重新寫了一遍。但是很多人可能就不像我這麼幸運了。本文收集了一些在Linux下恢復rm刪除的檔案的方法,給大家作為參考。   首先,最好的方法是避免這個問題,以下是幾點建議

Linux通過find命令進行rm文件刪除的小技巧

ase test sysconfig ger sdn tun 執行過程 fun alt 我們常常會通過find命令進行批量操作。如:批量刪除舊文件、批量改動、基於時間的文件統計、基於文件大小的文件統計等。在這些操作其中,因為rm刪除操作會導致文件夾結構變化,

Linux中如何恢復rm命令刪除的文件之extundelete編譯安裝及使用

可用 並且 地址 cat inode res 丟失 lin 所在 1、下載extundelete包,安裝依賴 我用的是Centos系統,在安裝extundelete之前需要安裝e2fsprogs,e2fsprogs-libs,e2fsprogs-devel。 yum in

Linux防止rm -rf /命令刪除

做伺服器運維的人眾所周知, rm -rf / 命令在Linux下執行後,就是一場災難。 好吧,先看一個事例,瞭解下這個命令的恐怖>>>一個命令rm -rf/ ,他把整個公司刪沒了 為了防止這種誤刪除操作,找了很多辦法,有建議回收站機制、也有說給重要目錄設

linux恢復刪除的數據文件

linux 數據還原在linux系統運維中,經常會遇到各種因操作不慎、操作失誤等行為導致數據丟失的情況,此時我們可以利用extundelete進行數據的恢復。一、 實驗前的準備 新建一個磁盤 在虛擬機設置窗口中,找到“硬盤”,點擊“添加”,在打開的“添加硬件向導”窗口中,選中“硬盤”,點擊下一步,接下

Linux - rm -rf 刪除檔案指定移動檔案位置 (李作強)

rm -rf 刪除檔案指定移動檔案位置。 建立回收站機制,它並不真正執行刪除操作,而是將檔案移動到一個特定目錄,可以設定定時清除回收站,或者在回收站裡面的檔案大小達到一定容量時(或者用時間做判斷)執行刪除操作以騰出空間。可以寫個shell指令碼替換rm命令,或者在需要刪除檔案的時候使用mv命

Linux恢復誤刪刪除檔案,釋放刪除空間

參考網址https://www.cnblogs.com/z-sm/p/6108689.html 鍵入命令:lsof |grep deleted 找到刪除的檔案。 恢復程序號為1464的檔案 需要先建立路徑/home/hadoop/zktmp/version-2 cat /

ubuntu恢復rm刪除的資料

                     1. 論“備份”的重要性今天手真快,Tab補全檔名後回車,昨天一天寫的程式碼就被我remove了。雖然自己寫了指令碼備份系統和home目錄,但系統是1天一備份,home是2天一次增量備份。又恰巧昨晚沒有備份home,並且git也沒有提交,欲哭無淚的感覺5555~~。被

Linux rm -rf刪除檔案不釋放空間的解決辦法

前幾天發現在Linux系統下有一個很大的無用檔案,於是用rm -rf 刪除,然後用df -h檢視磁碟空間,發現即使檔案被刪除了,但檔案所佔用的空間並未釋放,十分疑惑,於是在網上找到了解決方案,即使用lsof | grep deleted檢視佔用的程序並kill相

Linux 學習之建立、刪除檔案和資料夾命令

今天學習了幾個命令,是建立、刪除檔案和資料夾的,在linux裡,資料夾是目錄,下面說下我學習的命令。 建立資料夾【mkdir】   一、mkdir命令使用許可權     所有使用者都可以在終端使用 mkdir 命令在擁有許可權的資料夾建立資料夾或目錄。     二

Linux*.tar.gz/.tar.bz2 檔案解壓縮安裝命令

1. .tar.gz壓縮命令: 命令格式:tar -zcvf 壓縮檔名.tar.gz 被壓縮檔名 可先切換到當前目錄下。壓縮檔名和被壓縮檔名都可加入路徑。 2. .tar.gz解壓縮命令: 命令格式:tar -zxvf 壓縮檔名.ta