Как восстановить файлы в Линукс

Случайно удалил несколько файлов conf, для восстановления удачно воспользовался программой scalpel:

apt-get install scalpel

Чтобы восстановить текстовые конфиг. файлы пришлось вспомнить какими символами они начинаются. Нашёл подобный искомому файлу образец который начинается и заканчивается так же. Регистр символов не важен, это можно указать опцией.

В windows скопировать фрагмент начала / конца файла можно в программе FAR manager клавиши F3 + F4, для копирования нажать в левом верхнем углу "Выделить", "Пометить" Выделяем мышкой фрагмент начала и копируем в буфер обмена Ctrl+c

Добавим в конфигурацию scalpel новое расширение файла

В файл: /etc/scalpel/scalpel.conf добавим новую строку опциями:

conf y 9000 x73x65x72x76x65x72x20x7B x0Dx0Ax7D
Альбом

Оцпп разделяются пробелами. Первое значение - расширение искомого файла

Второе значение определяет, чувствительность к регистру символов, у — да, n — нет. 

Третье значение — максимальный размер в байтах.

Далее фрагменты начало и конец файла, взятые из подобного файла образца.  

Перед каждым байтом вставим \x для указания шестнадцатеричного кода

Запускаем:

scalpel /dev/sda1 -o /tmp/restore/
Opening target "/dev/sda1"

Image file pass 1/2.
/dev/sda1: 100.0% |*******************| 29.0 GB 00:00 ETAAllocating work queues...
Work queues allocation complete. Building carve lists...
Carve lists built. Workload:
conf with header "x73x65x72x76x65x72x20x7b" and footer "x0dx0ax7d" --> 153 files
Carving files from image.
Image file pass 2/2.
/dev/sda1: 100.0% |*******************| 29.0 GB 00:00 ETAProcessing of image file complete. Cleaning up...
Done.
Scalpel is done, files carved = 153, elapsed = 42 seconds.