Восстановить удаленный файл в Linux

Дата: 12.07.2019

Данный метод на восстановления удаленных файлов в Linux рабочий при одном условии, во время удаления файл должен быть открыт и использоваться любым приложением. До завершения процесса восстановления файла важно не закрывать приложение или процесс, которое его использует.

Для начала посмотрим вывод программы lsof:

$ lsof | grep myfile
less      4158    root    4r      REG       3,65   114383   1276722 /home/myfile (deleted)

myfile — имя удаленного файла. Если видите такую строку, значит можно восстановить удаленный файл.
Нас интересуют данные, которые я выделил жирным шрифтом. На основе их формируем команду ниже. Результат выполнения команды должен быть следующим:

ls -l /proc/4158/fd/4
lr-x------  1 root root 64 Oct 11 17:17 /proc/4158/fd/4 -> /home/yfile (deleted)

Для восстановления файла осталось просто его скопировать:

cp /proc/4158/fd/4 /home/myfile_