Linux系統(tǒng)中使用dd命令來轉(zhuǎn)換和拷貝文件

dd - 轉(zhuǎn)換和拷貝文件
當(dāng)進行非強制的轉(zhuǎn)換的時候,使用指定的輸入和輸出塊大小拷貝文件 (默認是從標(biāo)準(zhǔn)輸入到標(biāo)準(zhǔn)輸出。)
它每次從輸入讀取指定大小的一個塊(默認是512字節(jié))。 如果使用 bs=bytes 選項,并且沒有轉(zhuǎn)換,除了指定 sync, noerror, 或 notrunc 之外, 那么dd將把全部讀到的數(shù)據(jù)(可以比請求讀的少) 寫到獨立的輸出塊去。 這個輸出塊的長度和讀到的數(shù)據(jù) 完全一樣,除非指定使用 sync(同步) 轉(zhuǎn)換,那樣的話,數(shù)據(jù)結(jié)尾處將追加NUL字符(或空格,見下)。
其他情況下,輸入的時候每次讀一個塊,然后處理,并將 輸出結(jié)果收集起來,最后寫到指定大小的數(shù)據(jù)塊中去。最 終的輸出塊可能會比指定的大小短一些。
如果你想要在線看 manual, 可以試試:
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
當(dāng)然你可以拿這個來方便的拷貝光碟(注意,你的光碟是標(biāo)準(zhǔn)的 iso9660格式才可以這么做唷!)
dd if=/dev/cdrom of=cdrom.iso
其中 if 后面以及 of 后面的內(nèi)容依你的需求調(diào)整。
然后給系統(tǒng)這個指令就可以燒了:
cdrecord -v cdrom.iso
這篇不是在講 cdrecord 的,所以上面的指令是最為簡單但是不一定能符合您的硬件環(huán)境...
功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉(zhuǎn)換??梢杂迷撁顚崿F(xiàn)DOS下的diskcopy命令的作用。先用dd命令把軟盤上的數(shù)據(jù)寫成硬盤的一個寄存文件,再把這個寄存文件寫入第二張軟盤上,完成diskcopy的功能。需要注意的是,應(yīng)該將硬盤上的寄存文件用rm命令刪除掉。系統(tǒng)默認使用標(biāo)準(zhǔn)輸入文件和標(biāo)準(zhǔn)輸出文件。
if=file
從 file 中讀而不是標(biāo)準(zhǔn)輸入。
of=file
寫到 file 里去而不是標(biāo)準(zhǔn)輸出。除非指定 conv=notrunc ,否則, dd 將把 file 截為O字節(jié)(或由 seek= 選項指定的大?。?
ibs=bytes
一次讀 bytes 字節(jié)。默認是512。
obs=bytes
一次寫 bytes 字節(jié)。默認是512。
bs=bytes
一次讀和寫 bytes 字節(jié)。這將覆蓋 ibs 和 obs 設(shè)定的值(并且,設(shè)定 bs 不等于同時將 ibs 和 obs 設(shè)為同一個值,至少在 只使用 sync, noerror 或 notrunc 轉(zhuǎn)換時是這樣的。因為bs規(guī)定,每個輸入塊都應(yīng)作為單獨 的數(shù)據(jù)塊拷貝到輸出,而不把較短的塊組合到一起)。
cbs=bytes
為 block 轉(zhuǎn)換和 unblock 轉(zhuǎn)換指定轉(zhuǎn)換塊的大小。
skip=blocks
在拷貝之前,跳過輸入文件的前 blocks 塊,每塊大小為 ibs-byte 字節(jié)。
seek=blocks
在拷貝之前,跳過輸出文件的前 blocks 塊,每塊大小為 obs-byte 字節(jié)。
count=blocks
只拷貝輸入文件的前 blocks 塊(每塊的大小為 ibs-byte 字節(jié)),而不是全部內(nèi)容,直到文件末尾。
轉(zhuǎn)換
conv=轉(zhuǎn)換[,轉(zhuǎn)換]...
將文件按 轉(zhuǎn)換 參數(shù)指定的方式轉(zhuǎn)換(在lq,rq兩邊沒有空格)。
轉(zhuǎn)換方式包括:
ascii
將EBCDIC轉(zhuǎn)換成ascii。
ebcdic
將ascii轉(zhuǎn)換成ebcdic。
ibm
將ascii轉(zhuǎn)換成alternative ebcdic。
block
每一行輸入,無論長短,輸出都是 cbs 字節(jié),并且其中的lq換行rq(NEWLINE,即c中的')用 空格替換。如有必要,行尾會填充空格。
unblock
用lq換行rq替換每個輸入塊( cbs 字節(jié)大小)末尾的空格。
lcase
將大寫字母轉(zhuǎn)換成小寫。
ucase
將小寫字母轉(zhuǎn)換成大寫。
swab
交換每對輸入字節(jié)。如果讀入的字節(jié)數(shù)是奇數(shù),最后 一個字節(jié)只是簡單的復(fù)制到輸出(因為沒有能跟它交換的 字節(jié)了)(POSIX 1003.26,PASC翻譯1003.2 3號和4號)。
noerror
發(fā)生讀錯誤時,繼續(xù)進行。
notrunc
不截斷輸出文件。
sync
用0填充到每個輸入塊的末尾,使其大小為 ibs 字節(jié)。
例:
[root@localhost ~]# dd if=/dev/hdx of=/dev/hdy #將本地的/dev/hdx整盤備份到/dev/hdy
[root@localhost ~]# dd if=/dev/hdx of=/path/to/image #將/dev/hdx全盤數(shù)據(jù)備份到指定路徑的image文件
[root@localhost ~]# dd if=/dev/hdx | gzip >/path/to/image.gz #備份/dev/hdx全盤數(shù)據(jù),并利用gzip工具進行壓縮,保存到指定路徑
[root@localhost ~]# dd if=/path/to/image of=/dev/hdx # 將備份文件恢復(fù)到指定盤
[root@localhost ~]# gzip -dc /path/to/image.gz | dd of=/dev/hdx #將壓縮的備份文件恢復(fù)到指定盤
[root@localhost ~]# dd if=/dev/hdx of=/path/to/image count=1 bs=512 #備份磁盤開始的512Byte大小的MBR信息到指定文件
[root@localhost ~]# dd if=/dev/cdrom of=/root/cd.iso #拷貝光盤數(shù)據(jù)到root文件夾下,并保存為cd.iso文件
相關(guān)文章
- 這篇文章主要介紹了Linux系統(tǒng)的dd命令使用教程,是Linux入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-21
- dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉(zhuǎn)換。 dd 的主要選項: 指定數(shù)字的地方若以下列字符結(jié)尾乘以相應(yīng)2009-03-10
Linux系統(tǒng)下轉(zhuǎn)換文件編碼的方法小結(jié)
這篇文章主要介紹了Linux系統(tǒng)下轉(zhuǎn)換文件編碼的方法小結(jié),尤其針對Windows下保存的文件在Linux下打開為亂碼的問題,需要的朋友可以參考下2015-12-29Linux系統(tǒng)下將txt轉(zhuǎn)換為mobi格式電子書的方法
這篇文章主要介紹了Linux系統(tǒng)下將txt轉(zhuǎn)換為mobi格式電子書的方法,全部基于圖形化界面的pluma操作非常簡單,需要的朋友可以參考下2016-01-15Linux系統(tǒng)下文件編碼的查看與轉(zhuǎn)換方法
這篇文章主要介紹了Linux系統(tǒng)下文件編碼的查看與轉(zhuǎn)換方法,是Linux入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-30Linux不用使用軟件把純文本文檔轉(zhuǎn)換成PDF文件的方法
將文本文件轉(zhuǎn)換成PDF文件的方法有很多,不過在Linux系統(tǒng)中,不用使用軟件也能將文本文本轉(zhuǎn)換成PDF,而且很簡單。下面為大家詳細介紹下2015-01-21Linux下將UTF8編碼批量轉(zhuǎn)換成GB2312編碼的方法
在sqlplus中導(dǎo)入UTF8編碼的sql腳本就會出現(xiàn)亂碼錯誤,這時就需要將UTF8編碼轉(zhuǎn)換成GB2312編碼,下面為大家介紹下在Linux下如何進行轉(zhuǎn)換2014-12-12在Linux上將文本文件轉(zhuǎn)換成PDF格式的教程
我需要把一個文本文件轉(zhuǎn)化成PDF格式的,但是我用的是linux系統(tǒng),不知道在Linux命令行下是否有一個簡單的方法將文本文件轉(zhuǎn)換成PDF文件?下面我們一起來研究一下2014-12-07linux系統(tǒng)下 文件夾和文件的字符集編碼方式轉(zhuǎn)換
這篇文章主要為大家介紹了linux系統(tǒng)下 文件夾和文件的字符集編碼方式轉(zhuǎn)換,若用ftp客戶端訪問資源時,遇到亂碼情況,也請核實客戶端編碼方式和服務(wù)器是否一致2014-10-24