Ha forrás/cél egy block device, akkor érdemes kierőszakolni, hogy közvetlenül az eszközt írd/olvasd, hogy kevesebb közbülső rétegen menjen keresztül, ami nagy mennyiségű adatnál sokat gyorsít a folyamaton.
Ha a forrás és a cél is block device:
dd if=/dev/sdXXX of=/dev/sdYYY bs=4M iflag=direct oflag=direct status=progress
Ha szeretnénk a művelet végén egy implicit sync
-et is hívni (pl. Ubuntu telepítő USB-re írásakor), akkor használjuk az conv=fdatasync
-et is:
dd if=Downloads/ubuntu.iso of=/dev/sdXXX bs=4M iflag=fullblock oflag=direct conv=fdatasync status=progress
Régebbi dd
-knél még nem volt status
paraméter, de USR1
szignálra kiírta, hogy hol tart:
while true do kill -USR1 `ps -C dd -o pid=` date sleep 5 done
dd if=/dev/sdX bs=4M iflag=direct status=progress | gzip -9 > test.gz
gzip
alternatívával (pl: 7 szálon) dd if=/dev/sdX bs=4M iflag=direct status=progress | pigz -9 -p 7 > test.gz
gzip
alternatívával (pl: 7 szálon) unpigz -c test.gz | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress
gzip
helyett zip
-ből unzip -p test.zip inner_file.img | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress
nc -l 19000 | dd bs=16M of=/dev/sdb oflag=direct status=progress
dd if=/dev/sda bs=16M iflag=direct status=progress | nc 192.168.0.2 19000
nc -l 19000 | bzip2 -d | dd bs=16M of=/dev/sdb oflag=direct status=progress
dd if=/dev/sda bs=16M iflag=direct status=progress | bzip2 -c | nc 192.168.0.2 19000
local size=$(blockdev --getsz /dev/sda) dd if=/dev/zero of=/dev/sda bs=512 count=200 dd if=/dev/zero of=/dev/sda bs=512 count=200 seek=$[$size - 200]