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

Linux dd命令

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 uperrua 于 2019-10-15 16:29 编辑 0 G$ C! d  n$ {" Z. _

# G6 x, n: [* E, {% `6 o5 l4 I
! L8 c1 |- b) b: H; \4 V. M( dLinux 命令大全2 w$ j+ |/ b5 ]

3 H$ x8 l% h/ @2 M- ^  O: H1 G
7 Y! F& K$ L# [3 `1 M
Linux dd命令用于读取、转换并输出数据。

5 E6 I3 l' f3 e) P- _
dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

- e0 g& g- X2 `3 K

; L/ y" `  @3 m3 R. }" O$ f
参数说明:
  • if=文件名:输入文件名,默认为标准输入。即指定源文件。
  • of=文件名:输出文件名,默认为标准输出。即指定目的文件。
  • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    ( C/ o. a2 ~# Y/ S+ wobs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    + B" r$ W# ~" M+ Tbs=bytes:同时设置读入/输出的块大小为bytes个字节。
  • cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
  • skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
  • seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
  • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  • conv=<关键字>,关键字可以有以下11种:
    ! _) ]6 X+ q4 [, N: p
    • conversion:用指定的参数转换文件。
    • ascii:转换ebcdic为ascii
    • ebcdic:转换ascii为ebcdic
    • ibm:转换ascii为alternate ebcdic
    • block:把每一行转换为长度为cbs,不足部分用空格填充
    • unblock:使每一行的长度都为cbs,不足部分用空格填充
    • lcase:把大写字符转换为小写字符
    • ucase:把小写字符转换为大写字符
    • swab:交换输入的每对字节
    • noerror:出错时不停止
    • notrunc:不截短输出文件
    • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。+ Y/ L$ b  T4 \7 \) d
  • --help:显示帮助信息
  • --version:显示版本信息+ q8 O! J9 G/ d2 X0 X. U6 V2 P
) t; D9 V4 C) `' q

  H( S, w0 l! X
实例
在Linux 下制作启动盘,可使用如下命令:
7 ]$ [( \4 M8 ~1 N$ a
dd if=boot.img of=/dev/fd0 bs=1440k% C0 F+ `2 g# {) O: u" g' C) h. M

+ V+ t6 {9 D- x& X; l- E
将testfile文件中的所有英文字母转换为大写,然后转成为testfile_1文件,在命令提示符中使用如下命令:
1 u# V9 S6 P  n8 V3 u; q. n
dd if=testfile_2 of=testfile_1 conv=ucase
) l1 _# o" }- c7 M( n5 c& H& W' [9 M/ k! B
其中testfile_2 的内容为:

2 I& n, [6 F2 u9 U$ f8 e
$ cat testfile_2 #testfile_2的内容  , ]  L: a) m5 m+ e% y$ u9 C8 ?
HELLO LINUX!  % D/ O4 D) K9 N7 H, b
Linux is a free unix-type opterating system.  - A# ^3 Y6 _( R* v" Y9 y3 u' K
This is a linux testfile!  ' {9 C0 c) A0 x1 n) _. [  G
Linux test
# q# F3 j/ Y# b% K- q$ z# O4 K
, j& H9 t6 l: p6 V1 W2 V1 u
转换完成后,testfile_1 的内容如下:

( A' {( l& A3 C$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小写转换记录了0+1 的读入  
- H: I2 e+ \9 y% Q$ C$ C2 P1 }9 l记录了0+1 的写出  6 x$ r6 I0 m1 m+ O' u% I( a
95字节(95 B)已复制,0.000131446 秒,723 KB/s  2 T4 u! d" t, ~+ P% t- i5 d$ G$ A
cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的testfile_1文件内容  
& L/ O( B; W$ O4 YHELLO LINUX!  
! D# F" U& d2 P6 @8 e9 j$ @LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  8 G( n' S. J+ Q% B* K; j0 Q4 ?
THIS IS A LINUX TESTFILE!  6 E3 X4 R& W9 ]. c9 p1 Q% m
LINUX TEST #testfile_2中的所有字符都变成了大写字母 ) N+ q7 T3 S, O1 K' F/ W6 T7 G' T
0 |; p; w  q" J' T9 {" Z  `
由标准输入设备读入字符串,并将字符串转换成大写后,再输出到标准输出设备,使用的命令为:

7 _, ~% y' C, E( r+ z9 l
dd conv=ucase2 ^* Z$ q4 v$ v+ n" B- }
7 D) x! p4 q) r) q
输入以上命令后按回车键,输入字符串,再按回车键,按组合键Ctrl+D 退出,出现以下结果:
! f6 f8 D2 Y: ~7 C1 c# M
$ dd conv=ucase
- u6 P8 U; E/ Q3 iHello Linux! #输入字符串后按回车键  
# t% ^- `* a3 P. `! _6 yHELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果  
9 z0 s) h# u: U8 ~+ F记录了0+1 的读入  6 I2 l! _3 v0 r( \4 ^% n9 H6 k8 P
记录了0+1 的写出  ( D3 ?0 Q) t% Y* B; D: x
13字节(13 B)已复制,12.1558 秒,0.0 KB/s
' o4 {! [6 ]: y+ ~) P) g: x9 E% [9 g# a# Z1 u9 G9 ~5 i4 G7 t
& C& h0 X& t* |. k. N( U: _

0 n% G7 @9 _9 V+ _* u6 @: _( R$ E2 E, v2 T5 l3 m" {0 a& b( m
0 i, ~* U5 l, w- k+ {! n# d4 G, R

9 M7 s$ F9 t& Z6 }6 J2 a& K9 y

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 17:38 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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