This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
dd
dd is used to copy raw data from source to sink, where source and sink can be a block device, file or piped input/output.
Installation
As part of the GNU sys-apps/coreutils, is installed in any standard any Gentoo GNU/Linux system.
Emerge
In the event that coreutils goes missing:
root #
emerge --ask sys-apps/coreutils
Usage
By default dd takes input from stdin, optionally manipulates the data, and writes to stdout.
Examples
Some common tasks where dd is used:
Boot stick
This should work with any live media as long as the memory stick /dev/sdX is large enough.
Any data on the memory stick will be lost.
root #
dd if=/home/myLiveCD.iso of=/dev/sdX bs=8M
if
: Defines the source.of
: Defines the sink.bs
: Defines the block size (amount of data read/written at a time). The default is 512 bytes but most modern devices can read/write much faster. It is possible to define different sizes for source and sink usingibs
andobs
.
Master boot record backup
To backup the master boot record (MBR), copy only the first 512 bytes:
root #
dd if=/dev/sdX of=/root/mbr.bin bs=512 count=1
count
: The number of blocks to copy.
This is the complete MBR with the partition layout.
Input manipulation
As an example, convert any upper case character in a file to lowercase and reverse the input per line, then pipe the output to less to display the file:
user $
dd if=/etc/portage/make.conf conv=swab,lcase,noerror | less
conv=swab
: Revert the input per line by swapping any input byte (writing backwards).conv=lcase
: Convert any upper case letter to lower case. To convert lower case to upper case useconv=ucase
.conv=noerror
: Continue if a read error occurs.