linux下dd和cpio命令

2021-07-05 19:14:36 字數 3266 閱讀 1299

每天筆記都不能當天完成,我想這是件很失敗的事情。我得仔細分析下自己的原因,好在下次能夠當天的筆記當天完成。

dd這個命令不得不說它實在是很強大的,我也在網上參考了一些文章,不過都不是詳細,還好相老師講的還是很詳細的,大師就是大師啊。

dd是linux/unix 下的乙個非常有用的命令,作用是用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換。dd是直接呼叫硬碟驅動複製的,所以說速度上會很快。

語法:dd [選項]

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

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

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

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

seek=blocks 從輸出檔案開頭跳過 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填充)。

注:沒有指定塊大小的時候,預設使用的是512位元組

當我們用來備份檔案時,通常不指定bs和count的,這樣使用預設塊大小拷貝所有的資料。

用來備份硬碟mbr區,因為mbr位於硬碟的第乙個512位元組(第一塊),/dev/sda是指的整個硬碟:

注:dd備份的時候,可以指定任意的塊指定大小進行備份,這個不作詳解,有個了解就可以了。

對乙個分割槽進行物理拷貝:

使用linux dd命令作硬碟轉殖

進入linux,執行: dd if=/dev/sda of=/dev/sdb

dd就是linux/unix下通用的轉殖、映象程式,if= 輸入的檔案 of=輸出的檔案。由於在linux下所有的硬體都表示為檔案,所以可以進行任何複製、轉殖。比如還可以把/dev/hda轉殖到mo、磁帶以及映像檔案中,當然,目標「檔案」必須比原「檔案」大,不然就會溢位。

dd的複製是完全基於二進位制的物理複製,從硬碟的第乙個位元組道最後乙個位元組,完全一樣的轉殖了一邊,所以是最保險、最準確的。而且由於dd是物理複製,所以只要是硬碟上存在的分割槽,無論linux是否認識,甚至是linux認不出是什麼的一段資料,都可以原原本本的複製。

要將塊從塊大小為 32k 位元組的輸入檔案複製到磁帶中,請輸入:

dd if=inputfile of=/dev/rmt0 bs=32k conv=sync span=yes

要將塊資料從塊大小為 32k 的磁帶複製到當前目錄中的檔案中,請輸入:

dd if=dev/rmt0 of=outfile bs=32k conv=sync span=yes

將光碟生成乙個iso檔案:

1、dd if=/dev/cdrom of=rhel.iso

2、cat /dev/cdrom of=rhel.iso

time有計時作用,dd用於複製,從if讀出,寫到of。if=/dev/zero不產生io,因此可以用來測試純寫速度。同理of=/dev/null不產生io,可以用來測試純讀速度。bs是每次讀或寫的大小,即乙個塊的大小,count是讀寫塊的數量。

測/目錄所在磁碟的純寫速度

測/目錄所在磁碟的純讀速度

cpio 命令

備份的時候配合find使用,很方便的命令

cpio -covb > [file|device] --------備份

cpio -icduv < [file|device] ------還原

引數:-o :將資料 copy 輸出到檔案或裝置上

-i :將資料自檔案或裝置 copy 出來系統當中

-t :檢視 cpio 建立的檔案或裝置的內容

-c :一種較新的 portable format 方式儲存

-v :讓儲存的過程中檔名稱可以在螢幕上顯示

-b :讓預設的 blocks 可以增加至 5120 bytes ,預設是 512 bytes !

這樣的好處是可以讓大檔案的儲存速度加快(請參考 i-nodes 的觀念)

-d :自動建立目錄!由於 cpio 的內容可能不是在同乙個目錄內,

如此的話在反備份的過程會有問題! 這個時候加上 -d 的話,

就可以自動的將需要的目錄建立起來了!

-u :自動的將較新的檔案覆蓋較舊的檔案!

find / –print | cpio –covb >/dev/st0磁帶機備份

cpio –iucdv < /dev/st0

cpio –t

Linux系統下cpio命令詳解

cpio主要是解壓或者將檔案壓縮到指定檔案中即copy in和copy out模式。引數引數說明 icopy in模式,解壓檔案 ocopy out模式,即壓縮檔案 d自動生成目錄 v列印處理的檔案 m保留檔案修改的時間 root localhost casper file initrd.lz in...

linux下dd命令詳解

linux下dd命令詳解 dd 是 linux unix 下的乙個非常有用的命令,作用是用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換。dd 的主要選項 指定數字的地方若以下列字元結尾乘以相應的數字 b 512,c 1,k 1024,w 2,xm number m if file 輸入檔名...

linux下dd命令詳解

名稱 dd 使用許可權 所有使用者dd 這個指令在 manual 裡的定義是 convert and copy a file 使用方式 dd option dd help 或是 info dd 如果你想要看看這個版本如何 dd version 輸入或輸出 dd if stdin of stdout ...