Linux dd 命令用于讀取、轉(zhuǎn)換并輸出數(shù)據(jù)。
成都創(chuàng)新互聯(lián)專注于鹽山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。鹽山網(wǎng)站建設(shè)公司,為鹽山等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
dd 可從標(biāo)準(zhǔn)輸入或文件中讀取數(shù)據(jù),根據(jù)指定的格式來(lái)轉(zhuǎn)換數(shù)據(jù),再輸出到文件、設(shè)備或標(biāo)準(zhǔn)輸出。
參數(shù)說明:
if=文件名:輸入文件名,默認(rèn)為標(biāo)準(zhǔn)輸入。即指定源文件。
of=文件名:輸出文件名,默認(rèn)為標(biāo)準(zhǔn)輸出。即指定目的文件。
ibs=bytes:一次讀入bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。
obs=bytes:一次輸出bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。
bs=bytes:同時(shí)設(shè)置讀入/輸出的塊大小為bytes個(gè)字節(jié)。
cbs=bytes:一次轉(zhuǎn)換bytes個(gè)字節(jié),即指定轉(zhuǎn)換緩沖區(qū)大小。
skip=blocks:從輸入文件開頭跳過blocks個(gè)塊后再開始復(fù)制。
seek=blocks:從輸出文件開頭跳過blocks個(gè)塊后再開始復(fù)制。
count=blocks:僅拷貝blocks個(gè)塊,塊大小等于ibs指定的字節(jié)數(shù)。
conv=關(guān)鍵字,關(guān)鍵字可以有以下11種:
conversion:用指定的參數(shù)轉(zhuǎn)換文件。
ascii:轉(zhuǎn)換ebcdic為ascii
ebcdic:轉(zhuǎn)換ascii為ebcdic
ibm:轉(zhuǎn)換ascii為alternate ebcdic
block:把每一行轉(zhuǎn)換為長(zhǎng)度為cbs,不足部分用空格填充
unblock:使每一行的長(zhǎng)度都為cbs,不足部分用空格填充
lcase:把大寫字符轉(zhuǎn)換為小寫字符
ucase:把小寫字符轉(zhuǎn)換為大寫字符
swap:交換輸入的每對(duì)字節(jié)
noerror:出錯(cuò)時(shí)不停止
notrunc:不截短輸出文件
sync:將每個(gè)輸入塊填充到ibs個(gè)字節(jié),不足部分用空(NUL)字符補(bǔ)齊。
--help:顯示幫助信息
--version:顯示版本信息
舉個(gè)例子說明一下:
將硬盤a克隆到硬盤b?:
dd?if=/dev/sda?of=/dev/sdb?bs=4M
可能在這個(gè)過程中的速度會(huì)比較慢,但是是有原因的,因?yàn)橛杏玫暮蜔o(wú)用的數(shù)據(jù)都要復(fù)制。
——答案來(lái)自xisaiLinux界大牛老師
用法:dd [操作數(shù)] ...
或:dd 選項(xiàng)
Copy a file, converting and formatting according to the operands.
N and BYTES may be followed by the following multiplicative suffixes:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000 1000, M =1024 1024, xM =M
GB =1000 1000 1000, G =1024 1024 1024, and so on for T, P, E, Z, Y.
Sending a USR1 signal to a running 'dd' process makes it
print I/O statistics to standard error and then resume copying.
18335302+0 records in
18335302+0 records out
9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
Options are:
GNU coreutils online help:
請(qǐng)向 報(bào)告dd 的翻譯錯(cuò)誤
要獲取完整文檔,請(qǐng)運(yùn)行:info coreutils 'dd invocation'
最近想在Mac上裝個(gè)KaliLinux,無(wú)奈虛擬機(jī)中的Windows制作啟動(dòng)盤實(shí)在太慢,于是想著Mac中有沒有燒錄工具,百度以后發(fā)現(xiàn)dd命令是Mac和Linux系統(tǒng)的制作啟動(dòng)盤命令。
確保分區(qū)模式是GUID分區(qū)
以下引用百度經(jīng)驗(yàn):
在這里我的命令是:
將iso格式轉(zhuǎn)換為dmg格式
將你的路徑替換掉/dev/disk1
這一步是必須的,不然后面使用dd命令會(huì)顯示資源繁忙
同理這里把你的鏡像路徑和磁盤路徑替換掉
/dev/disk1換成/dev/rdisk1可以提高速度
燒錄過程不會(huì)有任何提示信息直到燒錄完成(太不人性化了?。。。?/p>
如果有窗口提示要不要推出磁盤,則使用終端來(lái)推出磁盤,然后在窗口選擇ignore
dd :用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換。
注意:指定數(shù)字的地方若以下列字符結(jié)尾,則乘以相應(yīng)的數(shù)字: b=512 ; c=1 ; k=1024 ; w=2
參數(shù)注釋:
4、備份與恢復(fù)MBR
·備份文件開始的512個(gè)字節(jié)大小的MBR信息到指定文件:
#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512
· count=1 指僅拷貝一個(gè)塊; bs=512 指塊大小為512個(gè)字節(jié)
·恢復(fù):
#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb
·將備份的MBR信息寫到磁盤開始部分
/dev/null ,外號(hào)叫無(wú)底洞,你可以向它輸出任何數(shù)據(jù),它通吃,并且不會(huì)撐著!
/dev/zero ,是一個(gè)輸入設(shè)備,你可你用它來(lái)初始化文件。該設(shè)備無(wú)窮盡地提供 0 ,可以使用任何你需要的數(shù)目——設(shè)備提供的要多的多。他可以用于向設(shè)備或文件寫入字符串 0 。
/dev/null ——它是空設(shè)備,也稱為位桶( bit bucket )。任何寫入它的輸出都會(huì)被拋棄。如果不想讓消息以標(biāo)準(zhǔn)輸出顯示或?qū)懭胛募敲纯梢詫⑾⒅囟ㄏ虻轿煌啊?/p>
建議在bash下運(yùn)行man dd 或者 dd --help.
以下請(qǐng)參考:
linux創(chuàng)建文件命令:dd命令
把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過程中可以進(jìn)行格式轉(zhuǎn)換。語(yǔ)法:
CODE:[Copy to clipboard]dd 〔選項(xiàng)〕
QUOTE:
if =輸入文件(或設(shè)備名稱)。
of =輸出文件(或設(shè)備名稱)。
ibs = bytes 一次讀取bytes字節(jié),即讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),即寫 入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時(shí)設(shè)置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設(shè)置obs和obs)。
cbs = bytes 一次轉(zhuǎn)換bytes字節(jié)。
count = blocks 只拷貝輸入的blocks塊。
conv = ASCII 把EBCDIC碼轉(zhuǎn)換為ASCII碼。
conv = ebcdic 把ASCII碼轉(zhuǎn)換為EBCDIC碼。
conv = ibm 把ASCII碼轉(zhuǎn)換為alternate EBCDIC碼。
conv = blick 把變動(dòng)位轉(zhuǎn)換成固定字符。
conv = ublock 把固定們轉(zhuǎn)換成變動(dòng)位
conv = ucase 把字母由小寫變?yōu)榇髮憽?/p>
conv = lcase 把字母由大寫變?yōu)樾憽?/p>
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對(duì)輸入字節(jié)。
conv = noerror 出錯(cuò)時(shí)不停止處理。
conv = sync 把每個(gè)輸入記錄的大小都調(diào)到ibs的大小(用ibs填充)。
fdformat命令
低級(jí)格式化軟盤。
實(shí)例:
創(chuàng)建一個(gè)100M的空文件
dd if=/dev/zero of=hello.txt bs=100M count=1
以上是linux創(chuàng)建文件命令:dd的用法。