国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

用grep恢復(fù)誤刪的文本文件

2020-06-13 12:37:31
字體:
供稿:網(wǎng)友

作為長期的電腦使用者,肯定會有誤刪文件的經(jīng)歷,在 Mac OS X 和 Windows 上刪除的文件都會默認(rèn)進 回收站。

在 Linux 上如果事先沒有用別名(alias)修改默認(rèn)的 rm 功能,rm 后文件就會丟失,幸運的是,在一般的刪除文件操作中,Linux 并不會立即清空存儲該文件的 block 內(nèi)容,而只會釋放該文件所占用的 inode 和 data block,Linux 上 rm 的過程其實就是將 inode bitmap 和 data block bitmap 中的相應(yīng)標(biāo)識設(shè)為空閑狀態(tài)的過程,并不涉及到真正的數(shù)據(jù),這也是為什么在 Linux 下刪除大文件這么快速的原因,因為大文件所占的磁盤根本就沒有清空。所以,如果我們能找到文件對應(yīng)的 inode,由此查到相應(yīng)的 data block,就可能從磁盤上把已刪除的文件恢復(fù)出來,很多文件/磁盤恢復(fù)工具都是這么做的。

一般來說二進制文件、庫文件等刪除后都可以從其他 Linux 拷貝恢復(fù),不是很要緊,如果自己辛苦寫的腳本或者配置文件誤刪了就杯具了。誤刪這種蠢事經(jīng)常在 VPSee 身上發(fā)生,最近一次是在今年年初的時候,開了 screen 多次 ssh 到不同服務(wù)器上,在前后切換的過程中刪除了一個很肯定的配置文件,后來發(fā)現(xiàn)刪的文件是對的,可惜在一臺錯誤的服務(wù)器上,本來應(yīng)該在 A 服務(wù)器上刪除 file.txt 結(jié)果在 B 服務(wù)器上刪除了 file.txt,多個 screen 和 ssh 把自己搞暈了,而且主機名沒有安排好,多臺機器都是用的 localhost,不利于識別當(dāng)時的環(huán)境。如果使用 Linux 的時候不幸誤刪了一個文本文件怎么辦呢?

先臨時建一個文本文件 vpsee.log 做測試,然后刪除這個文件:

$ echo "important log file for vpsee.com" > vpsee.log

$ cat vpsee.log

important log file for vpsee.com

$ rm vpsee.log如果能記住剛才刪除文件中的某個關(guān)鍵字的話可以用 grep 搜索整個 /dev/sda1,-a 標(biāo)志位的意思是把 /dev/sda1 這個分區(qū)看成是文本形式的(分區(qū)本身是二進制形式的),-B 10 -A 100 的意思是如果找到關(guān)鍵字就打印出其前10行和后100行的內(nèi)容:

# grep -a -B 10 -A 100 'vpsee.com' /dev/sda1 > tmp.txt在一堆 @ 之間可以找到我們剛才刪除的內(nèi)容:

$ vi tmp.txt

...

@$^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@Ç^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@È^K^@^@^@

^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Q^@^@^@^C^@^@^@^@^@^@^@^@^@^@^@È^K^@^@×^@

^@^@important log file for vpsee.com

@

@

...當(dāng)然,如果誤刪了二進制、doc、png/jpg/gif 之類的文件,可以用一些第三方 ext2/ext3 文件恢復(fù)工具幫助恢復(fù)文件,比如 TestDisk, PhotoRec 等。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三明市| 沭阳县| 清原| 体育| 罗山县| 大兴区| 普安县| 城步| 新泰市| 启东市| 灵山县| 宽城| 石棉县| 永泰县| 外汇| 蚌埠市| 汝南县| 苗栗市| 茌平县| 西乌| 应用必备| 聂拉木县| 高密市| 江津市| 汉阴县| 扎兰屯市| 遵义县| 尼木县| 临夏县| 鄯善县| 疏勒县| 广水市| 余江县| 依安县| 洪江市| 将乐县| 丹寨县| 南京市| 高陵县| 深泽县| 承德县|