Разница между строкой и файлом

У вас есть два хороших варианта, в первую очередь и extundelete.

extundelete - Это ваш первый выбор, он может восстановить файлы с NAME!

foremost - это некрасиво, и восстановление файлов по номеру сектора и типу, но есть больше шансов на восстановление. Он будет пытаться работать, даже если раздел поврежден или с плохими блоками, или, конечно, на всем диске, если раздела больше нет, он отформатирован или много других возможностей.

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

Живой -КОМПАКТ-диск также может помочь для загрузки системы с немонтированным разделом.

Если вы не можете перезагрузить свою систему, попробуйте использовать dd для создания образа вашего диска или раздела в другом месте (больше), никогда не делайте этого на том же диске, иначе вы потеряете все шансы на восстановление.

dd if=/dev/sda1 of=/mnt/otherbiggerpartition/test.img 
cd /mnt/otherbiggerpartition/
foremost test.img 

или

extundelete test.img

(при этом вам не нужно будет монтировать раздел, но шансы на восстановление данных уменьшаются, и вам нужен больший раздел или диск, чтобы можно было сохранить необработанный образ раздела.)

3
22.05.2017, 10:34
1 ответ

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
7
27.01.2020, 21:12

Теги

Похожие вопросы