Nesmyslnost volání syncu po zápisu do souboru už byla rozebrána výše, ale já bych chtěl upozornit na jinou vlastnost dd (minimálně toho GNU), o které se moc neví: když nastavíte bs, tak to říká, jak velký bude buffer pro read(2), a count říká, kolik readů se provede. Ale vůbec nikdo negarantuje, že read dostane buffer naplněný! Jádro úplně v pohodě může vrátit třeba i jenom jeden bajt. To se může stát třeba při signálu nebo při čtení z pomalého zařízení. A vyřešit se to dá třeba pomocí iflag=fullblock.