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 G7 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 |