36 Linux dd命令詳解

2021-07-04 02:20:35 字數 2617 閱讀 7467

dd 是 linux/unix 下的乙個非常有用的命令,作用是

用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換。

名稱: dd 

使用許可權: 所有使用者dd 這個指令在 manual 裡的定義是 convert and copy a file 

使用方式: 

dd [option] 

dd --help 

或是 info dd 

如果你想要看看這個版本如何: 

dd --version 

輸入或輸出 

dd if=[stdin] of=[stdout] 

強迫輸入或輸出的size為多少bytes 

bs: dd -ibs=[byte] -obs=[size] 

強迫一次只做多少個 bytes 

cbs=bytes 

跳過一段以後才輸出 

seek=blocks 

跳過一段以後才輸入 

skip=blocks 

當然你可以拿這個來方便的拷貝光碟(注意,你的光碟是標準的 iso9660格式才可以這麼做唷!) 

dd if=/dev/cdrom of=cdrom.iso 

其中 if 後面以及 of 後面的內容依你的需求調整。 

然後給系統這個指令就可以燒了: 

cdrecord -v cdrom.iso 

這篇不是在講 cdrecord 的,所以上面的指令是最為簡單但是不一定能符合您的硬體環境...

功能:把指定的輸入檔案拷貝到指定的輸出檔案中,並且在拷貝過程中可以進行格式轉換。

可以用該命令實現dos下的diskcopy命令的作用。先用dd命令把軟盤上的資料寫成硬碟的乙個寄存盤案,再把這個寄存盤案寫入第二張軟盤上,完成diskcopy的功能。需要注意的是,應該將硬碟上的寄存盤案用rm命令刪除掉。系統預設使用標準輸入檔案和標準輸出檔案。 

語法:dd [選項] 

if =輸入檔案(或裝置名稱)。 

of =輸出檔案(或裝置名稱)。

ibs = bytes 一次讀取bytes位元組,即讀入緩衝區的位元組數。

skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。 

obs = bytes 一次寫入bytes位元組,即寫入緩衝區的位元組數。 

bs = bytes 同時設定讀/寫緩衝區的位元組數(等於設定ibs和obs)。

cbs = byte 一次轉換bytes位元組。 

count=blocks 只拷貝輸入的blocks塊。

conv = ascii 把ebcdic碼轉換為ascil碼。 

conv = ebcdic 把ascil碼轉換為ebcdic碼。 

conv = ibm 把ascil碼轉換為alternate ebcdic碼。 

conv = block 把變動位轉換成固定字元。 

conv = ublock 把固定位轉換成變動位。 

conv = ucase 把字母由小寫轉換為大寫。 

conv = lcase 把字母由大寫轉換為小寫。 

conv = notrunc 不截短輸出檔案。 

conv = swab 交換每一對輸入位元組。 

conv = noerror 出錯時不停止處理。 

conv = sync 把每個輸入記錄的大小都調到ibs的大小(用nul填充)。

例1:要把一張軟盤的內容拷貝到另一張軟盤上,利用/tmp作為臨時儲存區。把源盤插入驅動器中,輸入下述命令: 

$ dd if =/dev/fd0 of = /tmp/tmpfile 

拷貝完成後,將源盤從驅動器中取出,把目標盤插入,輸入命令: 

$ dd if = /tmp/tmpfile of =/dev/fd0 

軟盤拷貝完成後,應該將臨時檔案刪除: 

$ rm /tmp/tmpfile 

例2:把net.i這個檔案寫入軟盤中,並設定讀/寫緩衝區的數目。 

(注意:軟盤中的內容會被完全覆蓋掉) 

$ dd if = net.i of = /dev/fd0 bs = 16384 

例3:將檔案sfile拷貝到檔案 dfile中。 

$ dd if=sfile of=dfile

例4:建立乙個100m的空檔案

dd if=/dev/zero of=hello.txt bs=100m count=1

*********************************************

/dev/null,外號叫無底洞,你可以向它輸出任何資料,它通吃,並且不會撐著!

/dev/zero,是乙個輸入裝置,你可你用它來初始化檔案。

/dev/null------它是空裝置,也稱為位桶(bit bucket)。任何寫入它的輸出都會被拋棄。如果不想讓訊息以標準輸出顯示或寫入檔案,那麼可以將訊息重定向到位桶。

/dev/zero------該裝置無窮盡地提供0,可以使用任何你需要的數目——裝置提供的要多的多。他可以用於向裝置或檔案寫入字串0。

$ dd if=/dev/zero of=./test.txt bs=1k count=1

$ ls -l

total 4

-rw-r--r--     1 oracle    dba           1024 jul 15 16:56 test.txt

linux dd命令詳解

dd 使用dd這個linux命令可以建立一定大小檔案。linux建立檔案命令 dd命令 把指定的輸入檔案拷貝到指定的輸出檔案中,並且在拷貝的過程中可以進行格式轉換。語法 code copy to clipboard dd 選項 quote if 輸入檔案 或裝置名稱 of 輸出檔案 或裝置名稱 ib...

Linux dd命令詳解

例4 建立乙個100m的空檔案 dd if dev zero of hello.txt bs 100m count 1 dev null,外號叫無底洞,你可以向它輸出任何資料,它通吃,並且不會撐著!dev zero,是乙個輸入裝置,你可你用它來初始化檔案。dev null 它是空裝置,也稱為位桶 b...

linux dd命令詳解

1 dd if iso of dev sdb bs 1m 用以上命令前必須解除安裝u盤,sdb是你的u盤,bs 1m是塊的大小,後面的數值大,寫的速度相對塊一點,但也不是無限的,我一般選2m,注意,執行命令後很塊完成,但u盤還在閃,等不閃了,安全移除。2 注意 你的映象需要支援dd命令。dd命令的詳...