linux误删文件咋恢复,恢复Linux误删文件
恢復Linux誤刪文件
目錄方法一
方法二
不小心執(zhí)行了rm刪除了某些文件,是有點倒霉。不過我一般都會設置alias rm='rm -i'在刪除的時候需要輸入Y才能真正刪除,當然此時用rm -f那也會直接刪除了。
因此找了兩種方案恢復誤刪的文件。
方法一
適用系統(tǒng)內(nèi)置debugfs,適用于刪除不久,文件inode還存在的方式。
1.往文件中寫入數(shù)據(jù)
root@janbar:~/test# date | md5sum test
2.查看文件內(nèi)容
root@janbar:~/test# cat test
462bbd830ae8f1f4ab65bcb644063f11 -
3.刪除文件
root@janbar:~/test# rm test
rm: remove regular file 'test' y
4.查看被刪除文件目錄屬于哪個分區(qū)
root@janbar:~/test# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 57666812 19138652 35575816 35% /
5.執(zhí)行debugfs工具
root@janbar:~/test# debugfs
debugfs 1.42.13 (17-May-2015)
6.打開分區(qū)
debugfs: open /dev/sda1
7.查看目錄內(nèi)容,記得一定是絕對路徑,且不能出現(xiàn) ~ 這種符號
debugfs: ls -d /root/test
2752514 (12) . 2752513 (4084) .. 2759333 (4072) test
2759335 (4056) test.old
8.將上圖被刪除文件的inode號按照下面命令執(zhí)行,必須為 尖括號括起來的才行
debugfs: logdump -i 2759333
Inode 2759333 is at group 336, block 11010293, offset 512
Journal starts at block 28111, transaction 578064
Found sequence 565491 (not 578175) at block 29094: end of journal.
9.退出調(diào)試
debugfs: quit
10.執(zhí)行如下命令可以恢復文件,bs 為上面的 offset,skip 為上面的 block
root@janbar:~/test# dd if=/dev/sda1 of=/root/test/test.old bs=512 count=1 skip=11010293
1+0 records in
1+0 records out
512 bytes copied, 0.000281056 s, 1.8 MB/s
方法二
grep整個分區(qū),適用inode丟失,且只能是純文本文件
1.查看被刪除文件目錄屬于哪個分區(qū)
root@janbar:~/test# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 57666812 19138652 35575816 35% /
2.然后使用grep對分區(qū)進行搜索,需要記得文檔中的某些關鍵字
grep -a -B 30 -A 150 'func main() {' /dev/sda1 test.go
其中-a表示把分區(qū)看成文本形式(分區(qū)本身是二進制形式的)
-B 30 -A 150表示找到搜索的內(nèi)容就打印前面30行和后面150行
如果分區(qū)比較大可能需要一定的搜索時間,完成之后打開test.go
幸運的話你會發(fā)現(xiàn)在一堆亂碼中鑲嵌著你要恢復的本文
恢復Linux誤刪文件 相關文章
linux下串口測試程序
通過簡單的參數(shù)配置,執(zhí)行文件+串口號+波特率 #include stdio.h #include stdlib.h #include unistd.h#include sys/types.h #include sys/stat.h #include fcntl.h #include errno.h #include sys/time.h#include time.h#include string.h#include sys/ioctl
Linux下創(chuàng)建進程
節(jié)選自《AdvancedLinuxProgramming》 通常有兩種方式,第一種是使用system函數(shù),位于stlib.h頭文件下,system 建立了一個運行著標準Bourne shell( /bin/sh)的子進程,然后將命令交由它執(zhí)行 。 因為 system 函數(shù)使用 shell 調(diào)用命令,它受到系統(tǒng) shell 自身
Linux USB3.0驅(qū)動分析(十一)——Gadget設備枚舉分析
一.URT介紹 前面介紹了Linux USB Gadget的軟件結(jié)構與各軟件層的整合過程。經(jīng)過各種注冊函數(shù),Gadget功能驅(qū)動層,USB設備層與UDC底層結(jié)合在了一起形成了一個完整的USB設備。而這個設備已經(jīng)準備好了接受主機的枚舉。在介紹USB設備枚舉之前。先熟悉一下各層通信
Linux USB3.0驅(qū)動分析(九)——Gadget function驅(qū)動分析
function目錄匯集了很多功能層的功能接口(interface)的具體實現(xiàn), 我們這里分析UAC2. 一. UAC2 function驅(qū)動分析 代碼位置 drivers\usb\gadget\function\f_uac2.c 里面實現(xiàn)usb設置中的接口和端點相關功能。 這里的DECLARE_USB_FUNCTION_INIT就是入口函數(shù)。 DE
Linux USB3.0驅(qū)動分析(八)——Gadget UDC驅(qū)動分析
一.概述 Gadget USB設備控制器(UDC)驅(qū)動指的是作為其他USB主機控制器外設的USB硬件設備上底層硬件控制器的驅(qū)動,該硬件和驅(qū)動負責將一個USB設備依附于一個USB主機控制器上。例如,當某運行Linux系統(tǒng)的手機作為PC的U盤時,手機中的底層USB控制器行使USB設備
Linux USB3.0驅(qū)動分析(九)——Gadget UAC2驅(qū)動分析
本文分析的是linux-5.4.3 一.Gadget Audio設備驅(qū)動分析 drivers/usb/gadget/legacy/audio.c因為項目的問題,了解usb音頻設備的工作原理,為啥它能讓PC識別成“speak”或者“mic”,以及你能夠播放錄音。主要涉及下面兩個層次:Gadget功能驅(qū)動層: 最主要的結(jié)構
XBK全備及恢復演示
一介紹: 使用XBK工具的前提是需要指定mysql配置文件的位置,默認軟件會去/etc/my.cnf里找,如果mysql的配置文件不在etc下,那么久要指定配置文件的位置。如果備份失敗,請確定my.cnf里是否有[client] socket=/tmp/mysql.sock 如果你在初始化mysql時沒有添加
linux下的/etc/passwd詳解
在Linux /etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統(tǒng)管理員經(jīng)常會接觸到這個文件的修改以完成對用戶的管理工作。 類似于下面的例子: 從上面的例子我們可以看到,/etc/passwd中一行記錄對應著一個用戶,每行記錄
Linux環(huán)境下jdk1.8的下載與安裝
1、下載 Oracle官網(wǎng)下載相應的版本,官網(wǎng)地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。 由于我的Linux是CentOS6.5(32位)的,因此我下載jdk-8u271-linux-i586.tar.gz文件。 2、解壓文件 新建/usr/java文件夾 mkdir
linux查看當前路徑命令
由于 Linux 文件系統(tǒng)中有許多目錄,當用戶執(zhí)行一條 Linux 命令又沒有指定該命令或參數(shù)所在的目錄時,Linux 系統(tǒng)就會首先在當前目錄(目前的工作目錄)搜尋這個命令或它的參數(shù)。因此,用戶在執(zhí)行命令之前,常常需要確定目前所在的工作目錄,即當前目錄。 當用
總結(jié)
以上是生活随笔為你收集整理的linux误删文件咋恢复,恢复Linux误删文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在vc++里面进行图像处理的时候应该把图
- 下一篇: obj是什么意思_为什么要学正则表达式