Насколько я знаю, нет никакого способа сказать, dd
используя pad 0xFF
. Но есть обходной путь.
Сначала создайте файл необходимой длины, заполненный 0xFF
:
$ dd if=/dev/zero ibs=1k count=100 | tr "\000" "\377" >paddedFile.bin 100+0 records in 200+0 records out 102400 bytes (102 kB) copied, 0,0114595 s, 8,9 MB/s
tr
используется для замены нулей на 0xFF
. tr
ожидает аргументы в восьмеричном виде. 0xFF
в восьмеричном есть \377
.
Результат:
$ hexdump -C paddedFile.bin 00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00019000
Затем вставьте входной файл в начале «дополненного» файла:
$ dd if=inputFile.bin of=paddedFile.bin conv=notrunc 0+1 records in 0+1 records out 8 bytes (8 B) copied, 7,4311e-05 s, 108 kB/s
Обратите внимание, conv=notrunc
что говорит dd
не обрезать выходной файл.
Пример входного файла:
$ hexdump -C inputFile.bin 00000000 66 6f 6f 0a 62 61 72 0a |foo.bar.| 00000008
Результат:
$ hexdump -C paddedFile.bin 00000000 66 6f 6f 0a 62 61 72 0a ff ff ff ff ff ff ff ff |foo.bar.........| 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00019000