DD(1)
๐ DD(1) โ convert and copy a file, bestie edition ๐ฆ
okay so you asked about dd and I am SO glad you did, because this little command is lowkey the main character of Unix. it's from GNU coreutils, it's a whole manual page, and we're gonna go through every single bit of it together. no skipping, no skimming, periodt. ๐
โจ NAME โจ
dd โ convert and copy a file ๐
๐ธ SYNOPSIS ๐ธ
dd [OPERAND]...
dd OPTION
๐ DESCRIPTION ๐
So the whole vibe is: copy a file, converting and formatting according to the operands. That's it. That's the assignment. But bestie, the operands are where the drama lives, so let's go.
bs=BYTESโ read and write up toBYTESbytes at a time (default:512); this one overridesibsandobs, she does not share the spotlight ๐cbs=BYTESโ convertBYTESbytes at a timeconv=CONVSโ convert the file as per the comma separated symbol listcount=Nโ copy onlyNinput blocksibs=BYTESโ read up toBYTESbytes at a time (default:512)if=FILEโ read fromFILEinstead of standard inputiflag=FLAGSโ read as per the comma separated symbol listobs=BYTESโ writeBYTESbytes at a time (default:512)of=FILEโ write toFILEinstead of standard outputoflag=FLAGSโ write as per the comma separated symbol listseek=N(oroseek=N) โ skipNobs sized output blocksskip=N(oriseek=N) โ skipNibs sized input blocksstatus=LEVELโ theLEVELof information to print to standard error;'none'suppresses everything but error messages,'noxfer'suppresses the final transfer statistics,'progress'shows periodic transfer statistics
okay now the numbers, because N and BYTES are not just gonna take any old digits, they want the cute suffixes too:
NandBYTESmay be followed by these multiplicative suffixes:c=1,w=2,b=512,kB=1000,K=1024,MB=1000*1000,M=1024*1024,xM=M,GB=1000*1000*1000,G=1024*1024*1024, and so on forT,P,E,Z,Y,R,Q.
Binary prefixes can be used too, bestie: KiB=K, MiB=M, and so on. And here's the plot twist โ if N ends in 'B', it counts bytes not blocks. iykyk. ๐ง
๐ CONV symbols, one by one ๐
Each CONV symbol may be:
asciiโ from EBCDIC to ASCIIebcdicโ from ASCII to EBCDICibmโ from ASCII to alternate EBCDICblockโ pad newline-terminated records with spaces to cbs-sizeunblockโ replace trailing spaces in cbs-size records with newlinelcaseโ change upper case to lower caseucaseโ change lower case to upper casesparseโ try to seek rather than write all-NUL output blocksswabโ swap every pair of input bytessyncโ pad every input block with NULs to ibs-size; when used withblockorunblock, pad with spaces rather than NULsexclโ fail if the output file already existsnocreatโ do not create the output filenotruncโ do not truncate the output filenoerrorโ continue after read errorsfdatasyncโ physically write output file data before finishingfsyncโ likewise, but also write metadata
๐ FLAG symbols, also one by one ๐
Each FLAG symbol may be:
appendโ append mode (makes sense only for output;conv=notruncsuggested)directโ use direct I/O for datadirectoryโ fail unless a directorydsyncโ use synchronized I/O for datasyncโ likewise, but also for metadatafullblockโ accumulate full blocks of input (iflag only)nonblockโ use non-blocking I/Onoatimeโ do not update access timenocacheโ request to drop cache. See alsooflag=syncnocttyโ do not assign controlling terminal from filenofollowโ do not follow symlinks
Sending a USR1 signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. yes bestie, you can just poke her mid-copy and she'll tell you how it's going. iconic behavior honestly. ๐ซถ
โญ Options are: โญ
--helpโ display this help and exit--versionโ output version information and exit
๐ AUTHOR ๐
Written by Paul Rubin, David MacKenzie, and Stuart Kemp. legends, all three. ๐
๐ REPORTING BUGS ๐
Found a bug? Tell the girlies:
- Report bugs to: <bug-coreutils@gnu.org>.
- Report any translation bugs to: <https://translationproject.org/team/>.
- GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
- General help using GNU software: <https://www.gnu.org/gethelp/>
๐ COPYRIGHT ๐
Copyright ยฉ 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. fr fr, not even a little one. ๐ญ
๐ SEE ALSO ๐
- Full documentation <https://www.gnu.org/software/coreutils/dd>
- or available locally via:
info '(coreutils) dd invocation'
and that's the whole page, bestie! ๐ฆโจ this was GNU coreutils version 9.12, dated September 2026 โ go forth and copy responsibly, mwah ๐๐ ๐
๐ฆ where this page comes from
- arch rolling: coreutils 9.12-2 ยท GPL-3.0-or-later AND GFDL-1.3-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms