Я создаю live-USB и точно не понимаю: что происходит, когда я копирую файл (или даже файловую систему) непосредственно на узел устройства (в отличие от файловой системы)?
10
Оболочка откроет устройство /dev/sdX
. Весь вывод cat
команды, которая в конечном итоге является содержимым debian.iso
, записывается непосредственно на это устройство.
Конечным результатом является то, что debian.iso
записывается побайтно в начало нижележащего диска /dev/sdX
.
Фактически, узел устройства создает впечатление, что низкоуровневое содержимое вашего носителя данных ведет себя как один файл. Вы пишете в этот «файл» и, следовательно, пишете на носитель. Эта философия известна как «все является файлом» и считается одной из определяющих особенностей системы Unix.
dd if=debian.iso of=/dev/sdX
?dd
дает вам больший контроль над размерами блоков, по умолчанию зависит от реализации (например, 1 или 512 байт). Сdd
его помощью вы можете потенциально выбрать лучший размер для своего блочного устройства, например 4096 байт.dd
влияет на производительность, но не на то, какие данные читаются и записываются. Нет никакого отношения междуdd
размером блока и размером блока CD или размером блока файловой системы. Несколько мегабайт, как правило, дают вам лучшую производительность, хотяcat
могут быть быстрее, чемdd
.