У вас есть два хороших варианта, в первую очередь и extundelete.
extundelete - Это ваш первый выбор, он может восстановить файлы с NAME!
foremost - это некрасиво, и восстановление файлов по номеру сектора и типу, но есть больше шансов на восстановление. Он будет пытаться работать, даже если раздел поврежден или с плохими блоками, или, конечно, на всем диске, если раздела больше нет, он отформатирован или много других возможностей.
Оба должны монтировать раздел только для чтения, и вам понадобится флешка или другой диск для сохранения восстановленных файлов.
Живой -КОМПАКТ-диск также может помочь для загрузки системы с немонтированным разделом.
Если вы не можете перезагрузить свою систему, попробуйте использовать dd для создания образа вашего диска или раздела в другом месте (больше), никогда не делайте этого на том же диске, иначе вы потеряете все шансы на восстановление.
dd if=/dev/sda1 of=/mnt/otherbiggerpartition/test.img
cd /mnt/otherbiggerpartition/
foremost test.img
или
extundelete test.img
(при этом вам не нужно будет монтировать раздел, но шансы на восстановление данных уменьшаются, и вам нужен больший раздел или диск, чтобы можно было сохранить необработанный образ раздела.)
diff
требуется два файловых операнда. Используя здесь-строку, вы передаете ввод в diff
на его стандартном вводе.
Чтобы заставить diff
читаться из стандартного ввода, используйте -
в качестве имени файла:
$ diff file - <<<"$( sed 'expression' file )"
или, что более переносимо,
$ sed 'expression' file | diff file -
Если вы используете оболочку, которая поддерживает замену процессов с <(...)
, например bash
и ksh93
, это может быть другим решением:
$ diff file <( sed 'expression' file )
Подстановка процесса будет отображаться как файл для diff
и практически "то же самое, что и":
$ sed 'expression' file >tempfile
$ diff file tempfile
$ rm tempfile