6

Например, я могу сделать:

cat /dev/sda1 > /dev/sda2

вместо использования dd, и если нет, то почему это не сработает?

1 ответ1

9

В принципе, вы можете использовать либо. Есть несколько важных отличий, но ни одно из них здесь не применимо.

  • Когда вы используете > перенаправление, целевой файл открывается и усекается. Только тогда это написано. Однако это не относится к блочным устройствам - они имеют фиксированный размер, поэтому «усечение» им ничего не дает.

  • С помощью cat вы не можете легко сказать, что нужно копировать только первые n байтов или пропускать / искать. Это то, для чего полезен dd.

  • cat не позволяет указать размер блока. Это не имеет значения сегодня, когда размеры блоков маскируются используемыми файловыми системами, но это имело значение для различий, где устройства будут считываться с определенными размерами блоков (лентами).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .