Linux dd 命令怎么用?具体例子?

2025年03月25日 23:29
有5个网友回答
网友(1):

举个例子说明一下:

将硬盘a克隆到硬盘b :

dd if=/dev/sda of=/dev/sdb bs=4M

可能在这个过程中的速度会比较慢,但是是有原因的,因为有用的和无用的数据都要复制。

                                  ——答案来自Linux界大牛老师

网友(2):

比如将硬盘a克隆到硬盘b :
dd if=/dev/sda of=/dev/sdb bs=4M
不过速度有点慢,因为有用的和无用的数据都要复制。

网友(3):

dd命令:文件创建或复制命令
if=数据来源
of=数据存储目标
bs=1 blocksize 指定复制大小为复制单位
count=2 数量
seek=#: 创建数据文件时,跳过的空间大小;
备份和还原MBR文件:
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
创建1G大小的文件
dd if=/dev/zero of=/var/swapfile bs=1M count=1024

网友(4):

time dd if=/dev/zero of=/dev/sda(这里就是你的硬盘) bs=1024k (块大小) count=1000(块数量) 这个是写测试
time dd if=/dev/sda of=/dev/null bs=1024k count=1000 这个是读测试

网友(5):

NAME
dd - convert and copy a file
SYNOPSIS
dd [OPERAND]...
dd OPTION
DESCRIPTION
Copy a file, converting and formatting according to the operands.
bs=BYTES
read and write BYTES bytes at a time (also see ibs=,obs=)
cbs=BYTES
convert BYTES bytes at a time
conv=CONVS
convert the file as per the comma separated symbol list
count=BLOCKS
copy only BLOCKS input blocks
ibs=BYTES
read BYTES bytes at a time (default: 512)
if=FILE
read from FILE instead of stdin
iflag=FLAGS
read as per the comma separated symbol list
obs=BYTES
write BYTES bytes at a time (default: 512)
of=FILE
write to FILE instead of stdout
oflag=FLAGS
write as per the comma separated symbol list
seek=BLOCKS
skip BLOCKS obs-sized blocks at start of output
skip=BLOCKS
skip BLOCKS ibs-sized blocks at start of input
status=noxfer
suppress transfer statistics

BLOCKS and BYTES may be followed by the following 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
for T, P, E, Z, Y.
Each CONV symbol may be:
ascii from EBCDIC to ASCII
ebcdic from ASCII to EBCDIC
ibm from ASCII to alternate EBCDIC
block pad newline-terminated records with spaces to cbs-size
unblock
replace trailing spaces in cbs-size records with newline
lcase change upper case to lower case
nocreat
do not create the output file
excl fail if the output file already exists
notrunc
do not truncate the output file
ucase change lower case to upper case
swab swap every pair of input bytes
noerror
continue after read errors
sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs
fdatasync
physically write output file data before finishing
fsync likewise, but also write metadata
Each FLAG symbol may be:
append append mode (makes sense only for output; conv=notrunc suggested)
direct use direct I/O for data
directory
fail unless a directory
dsync use synchronized I/O for data
sync likewise, but also for metadata
fullblock
accumulate full blocks of input (iflag only)
nonblock
use non-blocking I/O
noatime
do not update access time
noctty do not assign controlling terminal from file
nofollow
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.
$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid
18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
Options are:
--help display this help and exit
--version
output version information and exit