Как сохранить структуру имени файла и папки при использовании основной программы восстановления?

No está muy claro qué está haciendo su secuencia de comandos y parece estar completamente mal escrito. Debe proporcionar más detalles para averiguar qué es exactamente lo que está mal y qué desea lograr. Supongo que el error proviene de esta línea:

files=$($f | awk -F "_" '{print $3}')

En particular, debes darte cuenta de lo que sucede aquí:

$f | awk -F "_" '{print $3}'

Está ejecutando $f, que es uno de los archivos directory/*. Uno de ellos es 0403-006, y no puedes ejecutarlo.

¿Qué pasa con las variables col1, col2, etc.? Los datos leídos de test.txtestán completamente sin usar.

Presente un ejemplo mínimo y completo con datos de entrada y salida esperada, ya que este script no parece sensato incluso si mi suposición es correcta.

1
23.06.2019, 08:25
1 ответ

Ну вот только проблема с восстановлением данных, не так ли?

Это файловая система, которая знает о метаданных, таких как структура папок и имена файлов и, самое главное, что -где (размер файла, смещение на диске, в случае фрагментации для каждого сегмента данных и т. д. ).

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

В лучшем случае вы можете генерировать новые имена файлов из данных, которые вы вырезали (в случае JPEG, на основе данных EXIF, в случае архивов ZIP/TAR внутри есть имена файлов, если вы их распаковываете, файлы кода иногда имеют полезные заголовки о названии и авторе проекта и т. д. ).

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

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

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

Конечно, невозможно получить его из audit.txt, который вообще не содержит этой информации. Поэтому, если вы не видите в своем audit.txtчто-то, что вы хотите использовать в качестве имени файла, этот ваш ruby-скрипт - тупик. Вам нужен тот, который вытаскивает кролика из шляпы.

1
27.01.2020, 23:41

Теги

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