The common geometry of a 3.5" floppy disk has 18 sectors per track with two heads and 80 cylinders. Thus, optimising the dd command to read the contents of a floppy we would use:
$ dd bs=2x80x18b if=/dev/fd0 of=/tmp/floppy.image 1+0 records in 1+0 records outThen to write to another floppy:
$ dd bs=2x80x18b < /tmp/floppy.image > /dev/fd0 1+0 records in 1+0 records outThe 2x multiplies the sector size by the number of heads while the 80x identifies the number of cylinders. The 18b specifies 18 sectors of 512 bytes. This gives a total of 1,474,560 bytes and issues a single 1,474,560-byte read request to /dev/fd0 and a single 1,474,560 write request to /tmp/floppy.image, rather than the corresponding cp command:
$ cp /dev/fd0 /tmp/floppy.imagewhich issues 360 reads and writes of 4,096 bytes each.