dd

Convert a file while copying it (UNIX)

Syntax:

dd [if=input_file] [of=output_file] [options]

Runs on:

Neutrino

Options:

if=input_file
Read from input_file instead of the standard input.
of=output_file
Write to output_file instead of the standard output. Unless conv=notrunc is given, truncate the file to the size specified by seek= (0 bytes if seek= isn't given).
ibs=bytes
Read bytes bytes at a time.
obs=bytes
Write bytes bytes at a time.
bs=bytes
Read and write bytes bytes at a time. Override ibs and obs.
cbs=bytes
Convert bytes bytes at a time.
skip=blocks
Skip blocks ibs-sized blocks at start of input.
seek=blocks
Skip blocks obs-sized blocks at start of output.
count=blocks
Copy only blocks ibs-sized input blocks.
conv=conversion[,conversion...]
Convert the file as specified by the conversion arguments. Conversions are:
ascii
Convert EBCDIC to ASCII.
ebcdic
Convert ASCII to EBCDIC.
ibm
Convert ASCII to alternate EBCDIC.
block
Pad newline-terminated records to size of cbs, replacing newline with trailing spaces.
unblock
Replace trailing spaces in cbs-sized block with newline.
lcase
Change uppercase characters to lowercase.
ucase
Change lowercase characters to uppercase.
swab
Swap every pair of input bytes. Unlike the UNIX dd, this works when an odd number of bytes are read. If the input file contains an odd number of bytes, the last byte is simply copied (since there's nothing to swap it with).
noerror
Continue after read errors.
notrunc
Don't truncate the output file.
sync
Pad every input block to size of ibs with trailing NULs.

Note:

You can follow all numbers by a multiplier:

b
Blocks (×512).
k
Kbytes (×1024).
w
Words (×2).
xm
Multiply by m.

Description:

The dd utility copies a file (from the standard input to the standard output, by default) with a user-selectable blocksize, while optionally performing conversions on it. It's meant for writing raw data directly to devices such as tape and disk or writing over the network, with control over blocking factors and character set translations.


Note: This utility is subject to the GNU Public License (GPL). We've included it for use on development systems.

You can use this command for copying partial files. You can specify the block size, skip count, and the number of blocks to copy. Sizes are in bytes by default; you can append the letters w, b, or k to the number to indicate words (2 bytes), blocks (512 bytes), or K (1024 bytes). When dd is finished, it reports the number of full and partial blocks read and written.

Examples:

Copy file file1 to file2, converting all text to lowercase letters:

dd if=file1 of=file2 conv=lcase

Exit status:

>0
An error occurred.
0
The copy and translation operation was successful.

Contributing author:

GNU

See also:

cat, cp, pax, head, tr