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$ WLinux 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 ~ |