Linux下使用grep恢復被刪文件內容
添加時間:2010-11-12
添加:
admin
在Unix/Linux下,最危險的命令恐怕就屬rm命令了,每次在root下使用這個命令的時候,我都要盯著命令行看上幾分鐘才敢把回車敲下去。以前,看到同事在腳本中使用rm命令 —— rm {$App_Dir}/* 。因為腳本沒有判斷變量$App_Dir是否為空,結果,在一次用root操作的時候,整個操作系統一下就不見了,還好只是開發機。從此,我們大家都再也不敢使用rm命令了。
這里給大家介紹一個小技巧用來恢復一些被rm了的文件中的數據。我們知道,rm命令其實并不是真正的從物理上刪除文件內容,只過不把文件的inode回收了,其實文件內容還在硬盤上。所以,如果你不小刪除了什么比較重要的程序配置文件的時候,我們完全可以用grep命令在恢復,下面是一個恢復示例:
grep -a -B 50 -A 60 'some string in the file' /dev/sda1 > results.txt
說明:
關于grep的-a意為–binary-files=text,也就是把二進制文件當作文本文件。
-B和-A的選項就是這段字符串之前幾行和之后幾行。
/dev/sda1,就是硬盤設備,
> results.txt,就是把結果重定向到results.txt文件中。
如果你幸運的話,你就可以看到被恢復的內容了。這正是Unix的簡單哲學—— 所有的設備都是文件。
當然,我還是建議你把root用戶的rm的命令用alias換成別一個腳本,那個腳本會幫你把刪除的文件放到某個
這里給大家介紹一個小技巧用來恢復一些被rm了的文件中的數據。我們知道,rm命令其實并不是真正的從物理上刪除文件內容,只過不把文件的inode回收了,其實文件內容還在硬盤上。所以,如果你不小刪除了什么比較重要的程序配置文件的時候,我們完全可以用grep命令在恢復,下面是一個恢復示例:
grep -a -B 50 -A 60 'some string in the file' /dev/sda1 > results.txt
說明:
關于grep的-a意為–binary-files=text,也就是把二進制文件當作文本文件。
-B和-A的選項就是這段字符串之前幾行和之后幾行。
/dev/sda1,就是硬盤設備,
> results.txt,就是把結果重定向到results.txt文件中。
如果你幸運的話,你就可以看到被恢復的內容了。這正是Unix的簡單哲學—— 所有的設備都是文件。
當然,我還是建議你把root用戶的rm的命令用alias換成別一個腳本,那個腳本會幫你把刪除的文件放到某個
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解