命令行捞文件:Scalpel 开源按特征恢复 Linux 下丢失数据

服务器或取证现场里没有图形界面,误删后要在终端里把文件捞回来,图形工具派不上用场。Scalpel 是一个开源的命令行恢复程序,按文件头尾的特征字节在磁盘镜像里挖出还没被覆盖的文件。它轻量、可脚本化,适合运维和取证人员在 Linux 下做恢复或取证提取,是工具箱里那把”没有界面也好使”的刀,关键时刻顶用,也方便批量处理。
它解决什么问题
服务器误删文件,只有 SSH 终端、没有图形恢复工具。
要从磁盘镜像里按类型提取残留文件做取证。
图形工具跑不起来,需要纯命令行方案救急。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 按特征 | 依文件头尾签名捞数据,不依赖文件系统结构 |
| 命令行 | 纯终端运行,服务器与脚本里都好用灵活 |
| 可配置 | 配置文件定义类型与边界,按需扩展识别 |
| 开源免费 | 源码公开,可审计可改,无授权费放心 |
| 吃镜像 | 直接扫磁盘或镜像文件,灵活不挑来源 |
| 轻量快 | 依赖少,跑起来资源占用低不拖机 |

它把”恢复”退化成在原始字节里按指纹淘金
Scalpel 不依赖文件系统目录,而是直接扫磁盘或镜像的原始字节,按每种文件格式特有的”头尾签名”(比如 JPEG 的起始标记)把数据块切出来,重新拼成文件。这让它在不依赖目录结构、甚至文件系统已残破时仍能工作,非常适合取证和镜像分析。配置里可以规定识别哪些类型、边界怎么判,因此它能从一大片原始数据里精准淘出图片、文档等。对命令行用户,把它串进脚本就能批量处理多块盘,效率很高,也更容易复现。
红线要记牢:动手前先把原盘做成只读镜像或至少停止写入,恢复结果务必写到另一块盘或镜像之外,绝不可落回原盘;这类工具只用于你有权限的设备,不能碰无权访问的存储。能恢复多少看覆盖情况——未被新数据盖住的块才能拼回,频繁写入后只剩碎片甚至全无。物理损坏、安全擦除、加密覆盖的情况它也无能为力。它是取证利器,不是日常误删的傻瓜替代品,上手前先拿测试镜像练,别一上来就动真盘。补充:配置里可以叠加多条类型规则,一次扫描多格式;输出目录按扩展名分子目录,找回后先抽样校验再信任,损坏的片段直接丢弃即可,别把残缺文件当完整的用。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| Foremost | 开源免费 | 同样按签名恢复的老牌命令行工具,思路相近可互换。 |
| PhotoRec | 开源免费 | 跨平台按特征捞文件,易用度更高,图形与命令行皆有。 |
| Autopsy | 开源免费 | 带界面的取证平台,Scalpel 常作为其中一环被调用。 |
谁适合用
- 需要在服务器终端做恢复的运维
- 做磁盘取证、从镜像提取文件的分析者
- 只用命令行、要脚本化恢复的人
怎么开始
- 发现误删先停写,给原盘做只读镜像。
- 编辑配置文件,声明要恢复的文件类型。
- 对镜像运行 scalpel,指定输出目录。
- 等扫描完,到输出目录按类型翻找回的文件。
- 校验文件完整,确认无误再处置原盘。
- 把常用配置存成模板,下次直接复用省事。
常见问题
真能恢复吗?
能,针对未被覆盖的块按特征提取;越早停写、越少覆盖,淘到的越多。
能恢复多少?
取决于覆盖程度:刚删未写可找回大量;盘被长期使用后往往只剩零星碎片。
什么时候救不回来?
遭安全擦除、物理损坏或加密覆盖,以及块全被新数据盖住时,基本无望。
能写回原盘吗?
不能。输出必须到另一块盘或镜像外,写回会覆盖待救数据。
授权与合规
Scalpel 以开源协议发布,源码在仓库公开,可自由使用与修改。本工具仅用于你有权限的存储设备,恢复前先把原盘做成只读镜像。 官网:github.com/sleuthkit/scalpel。
继续找同类资源
这条属于「系统相关」栏目,同栏目还有更多可直接使用的免费资源,可以在 系统相关全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
↓ 获取资源
点击按钮直接前往资源页面。