`
blogfeifei
  • 浏览: 1194451 次
文章分类
社区版块
存档分类
最新评论

使用grep恢复被删文件内容

 
阅读更多

在Unix/Linux下,最危险的命令恐怕就属rm命令了,每次在root下使用这个命令的时候,我都要盯着命令行看上几分钟才敢把回车敲下去。以前,看到同事在脚本中使用rm命令 —— rm {$App_Dir}/* 。因为脚本没有判断变量$App_Dir是否为空,结果,在一次用root操作的时候,整个操作系统一下就不见了,还好只是开发机。从此,我们大家都再也不敢使用rm命令了。

这里给大家介绍一个小技巧用来恢复一些被rm了的文件中的数据。我们知道,rm命令其实并不是真正的从物理上删除文件内容,只过不把文件的inode回收了,其实文件内容还在硬盘上。所以,如果你不小删除了什么比较重要的程序配置文件的时候,我们完全可以用grep命令在恢复,下面是一个恢复示例:

1 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的简单哲学(详见《Unix传奇下篇》)—— 所有的设备都是文件

当然,我还是建议你把root用户的rm的命令用alias换成别一个脚本,那个脚本会帮你把删除的文件放到某个地方。

分享到:
评论

相关推荐

    Linux下使用ext3grep恢复文件

    Linux下使用ext3grep恢复文件,实现从磁盘恢复已删除的文件。

    ext3grep-0.10.2.zip

    当硬盘上的一个文件删除,其实没有真正想象中的那样在硬盘上清除掉的,他是把inode号和block块的那个链子 断开,但是真正的数据还是在硬盘上的,有没有感觉在windos上删除是那么快,没考虑到这吧,当你在删除文件的...

    ext3grep-0.10.1.tar.gz

    利用ext3grep恢复文件时并不依赖特定文本格式。首先ext3grep通过文件系统的root inode(根目录的inode一般为2)来获取当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后...

    ext3grep-0.7.0.tar.gz

    恢复Linux下误删除的文件、数据的强大工具

    ext3grep-0.10.2.tar.gz

    linux 恢复删除的ext3文件 undelete ext3 files

    Ubuntu权威指南(2/2)

    5.6 删除文件 118 5.7 显示当前工作目录 119 5.8 改换目录 119 5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 ...

    Ubuntu权威指南(1/2)

    5.6 删除文件 118 5.7 显示当前工作目录 119 5.8 改换目录 119 5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 ...

    UbuntuChina12

    5.6 删除文件 118 5.7 显示当前工作目录 119 5.8 改换目录 119 5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 ...

    Linux shell编程指南

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

    shell脚本常用脚本备用20例.md涉及系统

    1. 系统信息脚本 - 收集并显示系统信息,如CPU、... 文本处理 - 使用awk、sed、grep等工具处理文本文件。 14. 日志轮转 - 配置和管理日志轮转策略。 15. 权限管理 - 更改文件或目录的权限和所有权。 16. 进程管理

    Linux使用教程(教程)

    创建和删除文件(touch和rm) 15 ※8.创建和删除目录(mkdir 和 rmdir) 16 ※9.查看目录内容和文件属性ls 17 ※10.确定文件类型file 18 ※11.文件的复制和移动(cp 和 mv) 18 ※12.查看文件内容cat、head、tail、...

    AIX系统管理

    14.2.5 删除文件系统 138 14.2.6 整理文件系统碎片 138 14.2.7 文件系统检查 139 14.2.8 获取文件系统信息 139 14.3 磁盘空间管理 139 14.3.1 显示文件系统空间使用情况 140 14.3.2 控制增长较快的文件 140 14.3.3 ...

    Linux与unix shell编程指南

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

    LINUX 与 UNIX SHELL编程指南

    3.1.8 恢复丢失的 crontab 文件 25 3.2 at 命令 25 3.2.1 使用 at 命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用 ps 命令查看进程...

    linux shell 编程教程

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

    shell 编程指南pdf

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

    Linux下误删messages文件的找回方法

    如果有进程正在使用的文件,如果被误删了,可以找回。如果没有进程在使用,就无法找回被误删的文件了。 假如/var/log/messages文件被误删了: 1.查询正在使用该文件的进程。 [root@www]# lsof |grep message ...

    LINUX与UNIX SHELL编程指南(很全)

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

    Linux与unix shell编程指南(1-16)

    3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死...

Global site tag (gtag.js) - Google Analytics