復(fù)制文件并對(duì)原文件的內(nèi)容進(jìn)行轉(zhuǎn)換和格式化處理
dd命令 用于復(fù)制文件并對(duì)原文件的內(nèi)容進(jìn)行轉(zhuǎn)換和格式化處理。dd命令功能很強(qiáng)大的,對(duì)于一些比較底層的問題,使用dd命令往往可以得到出人意料的效果。用的比較多的還是用dd來備份裸設(shè)備。但是不推薦,如果需要備份oracle裸設(shè)備,可以使用rman備份,或使用第三方軟件備份,使用dd的話,管理起來不太方便。
建議在有需要的時(shí)候使用dd 對(duì)物理磁盤操作,如果是文件系統(tǒng)的話還是使用tar backup cpio等其他命令更加方便。另外,使用dd對(duì)磁盤操作時(shí),最好使用塊設(shè)備文件。
dd(選項(xiàng))
bs=<字節(jié)數(shù)>:將ibs(輸入)與obs(輸出)設(shè)成指定的字節(jié)數(shù);
cbs=<字節(jié)數(shù)>:轉(zhuǎn)換時(shí),每次只轉(zhuǎn)換指定的字節(jié)數(shù);
conv=<關(guān)鍵字>:指定文件轉(zhuǎn)換的方式;
count=<區(qū)塊數(shù)>:僅讀取指定的區(qū)塊數(shù);
ibs=<字節(jié)數(shù)>:每次讀取的字節(jié)數(shù);
obs=<字節(jié)數(shù)>:每次輸出的字節(jié)數(shù);
of=<文件>:輸出到文件;
seek=<區(qū)塊數(shù)>:一開始輸出時(shí),跳過指定的區(qū)塊數(shù);
skip=<區(qū)塊數(shù)>:一開始讀取時(shí),跳過指定的區(qū)塊數(shù);
--help:幫助;
--version:顯示版本信息。
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
[root@localhost text]# du -sh sun.txt
1.1M sun.txt
該命令創(chuàng)建了一個(gè)1M大小的文件sun.txt,其中參數(shù)解釋:
塊大小可以使用的計(jì)量單位表
單元大小 | 代碼 ---- | ---- 字節(jié)(1B)| c 字節(jié)(2B)| w 塊(512B)| b 千字節(jié)(1024B) | k 兆字節(jié)(1024KB)| M 吉字節(jié)(1024MB)| G
以上命令可以看出dd命令來測(cè)試內(nèi)存操作速度:
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
生成隨機(jī)字符串
我們甚至可以使用 /dev/urandom 設(shè)備配合 dd 命令 來獲取隨機(jī)字符串。
[root@localhost ~]# dd if=/dev/urandom bs=1 count=15|base64 -w 0
15+0 records in
15+0 records out
15 bytes (15 B) copied, 0.000111993 s, 134 kB/s
wFRAnlkXeBXmWs1MyGEs