Иногда требуется создать пустой файл, который потом можно будет использовать в виртуальной машине (например qemu) как диск, который в последствии нужно будет зашить на флешку. Или протестировать поместится ли установленная ОС на диск определённого размера, допустим при создании какого-нибудь встраиваемого решения.
Способ с использованием /dev/zero
Например такая команда создаст файл, размером в 256 блоков, при условии что размер 1го блока равен 1024 байтам, то есть 256 kB.
dd if=/dev/zero of=disk.img bs=1000 count=256k
А вот такая команда создаст файл размером 256 MB:
dd if=/dev/zero of=disk.img bs=1000k count=256
что равноценно:
dd if=/dev/zero of=disk.img bs=1000 count=256k
Способ с использованием /dev/null
Допустим необходимо создать файл 16Гб, для виртуальной ОС, а используя /dev/zero приходится слишком долго ждать результат, а нам хочется сгенерировать файл быстрее.
dd if=/dev/null of=disk.img bs=1G seek=16
Данная команда выполняется почти мгновенно, так как запись данных в файл не производится, в тоже время результирующий файл если смотреть через ls имеет вес, но не занимает места на диске.