Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Копирование директорий с помощью dd  (Прочитано 608 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tyrion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Есть такая задача: перенести с глючного раздела винчестера информацию в папку, с заменой поврежденных кусков нулями (в данном случае это видео, потому не проблема). Все работает с помощью команды для каждого отдельного файла:
dd if="/media/tyrion/8004AD3504AD2EDA/Documents and Settings/company/Desktop/folder/MVI_8753.MOV" of=/home/tyrion/recovery-test/MVI_8753.MOV conv=noerror,sync
Результат устраивает. Но как сделать, чтобы процесс был автоматическим для всех файлов в директории? Их порядка сотни и все это занимает уйму времени. Потому хотелось бы как-то его автоматизировать и на выходе получить файлы с теми же именами как и в исходнике.
Пробовал не указывать имена файлов, заканчивая путь директорией, но пишет ошибку (dd: не удалось открыть '/home/tyrion/recovery-test/': Это каталог). С использованием * тоже не удалось добиться ничего. Может кто подскажет?  ???
Ubuntu 18.04, Gnome.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Копирование директорий с помощью dd
« Ответ #1 : 24 Января 2017, 16:46:07 »
Так копируй целиком раздел с conv=noerror.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Копирование директорий с помощью dd
« Ответ #2 : 24 Января 2017, 16:53:05 »
Код: (bash) [Выделить]
for movie in "/media/tyrion/8004AD3504AD2EDA/Documents and Settings/company/Desktop/folder/"*.[Mm][Oo][Vv]
do
    dd if="$movie" of="/home/tyrion/recovery-test/${movie##*/}" conv=noerror,sync
done
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Tyrion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: Копирование директорий с помощью dd
« Ответ #3 : 25 Января 2017, 01:14:37 »
Так копируй целиком раздел с conv=noerror.

Слишком он большой, нет резона - остальное там мусор.

Код: (bash) [Выделить]
for movie in "/media/tyrion/8004AD3504AD2EDA/Documents and Settings/company/Desktop/folder/"*.[Mm][Oo][Vv]
do
    dd if="$movie" of="/home/tyrion/recovery-test/${movie##*/}" conv=noerror,sync
done

Благодарю! Работает как и задумано :).
Ubuntu 18.04, Gnome.

 

Страница сгенерирована за 0.034 секунд. Запросов: 23.