找回密码
 注册
关于网站域名变更的通知
查看: 532|回复: 1
打印 上一主题 下一主题

Linux dd命令

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-15 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 uperrua 于 2019-10-15 16:29 编辑 , ?2 x, f, l( |" @; q* i

; }' F: C' t& M3 B# p5 P( {% g
, i/ ~3 b0 r$ ?- p3 x' O/ y* \6 sLinux 命令大全% ^0 ~5 @' A. _' l" z6 i

- _2 |7 Z: v' Y: c

  C  G  n* R4 T# R$ W
Linux dd命令用于读取、转换并输出数据。

  f3 k9 I) W! C$ ~. y
dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
' S9 h$ t/ l1 P2 S% K& d# t2 j
3 w7 a8 B/ ?; s% k2 M
参数说明:
  • if=文件名:输入文件名,默认为标准输入。即指定源文件。
  • of=文件名:输出文件名,默认为标准输出。即指定目的文件。
  • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。9 ^" z2 t" N! A
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。5 L) G% t& e; W& T
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
  • cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
  • skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
  • seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
  • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  • conv=<关键字>,关键字可以有以下11种:; }3 Z- Y3 D" s" N( x/ [
    • conversion:用指定的参数转换文件。
    • ascii:转换ebcdic为ascii
    • ebcdic:转换ascii为ebcdic
    • ibm:转换ascii为alternate ebcdic
    • block:把每一行转换为长度为cbs,不足部分用空格填充
    • unblock:使每一行的长度都为cbs,不足部分用空格填充
    • lcase:把大写字符转换为小写字符
    • ucase:把小写字符转换为大写字符
    • swab:交换输入的每对字节
    • noerror:出错时不停止
    • notrunc:不截短输出文件
    • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。: B6 X  G/ L1 @& {/ D7 k
  • --help:显示帮助信息
  • --version:显示版本信息
    % {8 E# \$ |" v' |' N+ p

6 w3 Y' Y  N) `! y/ U& J) i
" P; g/ C1 \' X: x( q* L
实例
在Linux 下制作启动盘,可使用如下命令:

5 {+ I% U$ L. c, u
dd if=boot.img of=/dev/fd0 bs=1440k
$ \4 ?& v2 p& [. G1 a: F& O  j* h& Q0 D. x9 m5 g! \- x5 v# l
将testfile文件中的所有英文字母转换为大写,然后转成为testfile_1文件,在命令提示符中使用如下命令:
; ~, v0 J3 _  f$ j& ]2 n( l5 i
dd if=testfile_2 of=testfile_1 conv=ucase
* R- P! J7 }7 A; t( K' W0 V) {) Z, D. H9 B2 r0 c6 d
其中testfile_2 的内容为:

  K# I3 W  j2 C' I* H
$ cat testfile_2 #testfile_2的内容  : z; t$ X; s- S6 }- K
HELLO LINUX!  
# u8 ~( [! ]: YLinux is a free unix-type opterating system.  
% G: C. V& J* wThis is a linux testfile!  4 a: k. ~0 G2 u, ?; \
Linux test6 A" c) C! d, t5 u! k

5 l) q" F/ F" M  ]" k5 L2 j
转换完成后,testfile_1 的内容如下:

" t1 x# z: v, \. y) a! v. |3 W$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小写转换记录了0+1 的读入  ) v5 p( m: N6 v% l! H4 Z- q: {
记录了0+1 的写出  ( q( w, q1 S: N& ?2 f/ a
95字节(95 B)已复制,0.000131446 秒,723 KB/s  
. k: O( e( K# {, h, u8 |cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的testfile_1文件内容  6 ?* d& }6 }% i
HELLO LINUX!  4 M  `/ ?, [0 X$ M8 Y+ g' Z8 X) x
LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
. |, N1 c) q) s9 b, ^THIS IS A LINUX TESTFILE!  7 Y3 S: v1 ?" {. |8 ]* C) r) x" J8 i+ S# V
LINUX TEST #testfile_2中的所有字符都变成了大写字母 4 A% g# ]% U  ^# q4 @

) v0 K* e: t2 o+ ?( m
由标准输入设备读入字符串,并将字符串转换成大写后,再输出到标准输出设备,使用的命令为:

- h- X/ v. D* y/ U5 ]
dd conv=ucase
) d) B5 l  d  E; b  l6 [9 }" A9 |2 K2 z/ u  c* x# E  f
输入以上命令后按回车键,输入字符串,再按回车键,按组合键Ctrl+D 退出,出现以下结果:

2 }! L% w) R, M3 E. U" H3 m- {$ dd conv=ucase 6 j0 [3 H  _& t4 Z: {. ~
Hello Linux! #输入字符串后按回车键  
1 J/ c6 X4 z; DHELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果  
9 w! @2 J- T% s! S9 k记录了0+1 的读入  
' r* J- F- E, s. u8 l" [" A2 n7 S1 `记录了0+1 的写出  2 E5 d! ?) K1 m8 Y- f, Y3 r
13字节(13 B)已复制,12.1558 秒,0.0 KB/s ' ?# H: m# e8 M: `+ A

9 o2 `& P9 H  J( U# x- I  z4 j+ ]( Y4 S2 i7 D4 T; u
9 L+ W  b( t1 D3 @1 |7 R& {

$ @; t1 V' F+ I. j* {4 F6 X# r! a% A* Y: r8 M

3 d" D, x* U! {0 ~

该用户从未签到

2#
发表于 2019-10-16 23:07 | 只看该作者
Linux dd命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:23 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表