A comment on another question made me wonder:
Assuming I redirect the output from a command to a block device, and the length of that output is less than the block size of the block device:
% blockdev --getbsz /dev/sda
4096
% head -c 100 /dev/zero > /dev/sda
Will that overwrite the first 100 bytes of /dev/sda, or the first 4096 bytes (i.e. one complete block)?
Does the behaviour depend on the shell, output buffering settings, or even the *nix flavour (which might use character devices instead of block devices, like *BSD)?