Linux 磁碟維護 dd 命令詳解

2021-08-29 09:57:03 字數 2694 閱讀 5260

dd命令用於讀取、轉換並輸出資料。

dd可從標準輸入或檔案中讀取資料,根據指定的格式來轉換資料,再輸出到檔案、裝置或標準輸出。

引數說明:

if=檔名:輸入檔名,預設為標準輸入。即指定原始檔。

of=檔名:輸出檔名,預設為標準輸出。即指定目的檔案。

ibs=bytes:一次讀入bytes個位元組,即指定乙個塊大小為bytes個位元組。

obs=bytes:一次輸出bytes個位元組,即指定乙個塊大小為bytes個位元組。

bs=bytes:同時設定讀入/輸出的塊大小為bytes個位元組。

cbs=bytes:一次轉換bytes個位元組,即指定轉換緩衝區大小。

skip=blocks:從輸入檔案開頭跳過blocks個塊後再開始複製。

seek=blocks:從輸出檔案開頭跳過blocks個塊後再開始複製。

count=blocks:僅拷貝blocks個塊,塊大小等於ibs指定的位元組數。

conv=《關鍵字》,關鍵字可以有以下11種:

conversion:用指定的引數轉換檔案。

ascii:轉換ebcdic為ascii

ebcdic:轉換ascii為ebcdic

ibm:轉換ascii為alternate ebcdic

block:把每一行轉換為長度為cbs,不足部分用空格填充

unblock:使每一行的長度都為cbs,不足部分用空格填充

lcase:把大寫字元轉換為小寫字元

ucase:把小寫字元轉換為大寫字元

swab:交換輸入的每對位元組

noerror:出錯時不停止

notrunc:不截短輸出檔案

sync:將每個輸入塊填充到ibs個位元組,不足部分用空(nul)字元補齊。

--help:顯示幫助資訊

--version:顯示版本資訊

在linux 下製作啟動盤,可使用如下命令:

dd if=boot.img of=/dev/fd0 bs=1440k
將testfile檔案中的所有英文本母轉換為大寫,然後轉成為testfile_1檔案,在命令提示符中使用如下命令:

dd if=testfile_2 of=testfile_1 conv=ucase
其中testfile_2 的內容為:

$ cat testfile_2 #testfile_2的內容  

hello linux!

linux is a free unix-type opterating system.

this is a linux testfile!

linux test

轉換完成後,testfile_1 的內容如下:

$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小寫轉換記錄了0+1 的讀入  

記錄了0+1 的寫出

95位元組(95 b)已複製,0.000131446 秒,723 kb/s

cmd@hdd-desktop:~$ cat testfile_1 #檢視轉換後的testfile_1檔案內容

hello linux!

linux is a free unix-type opterating system.

this is a linux testfile!

linux test #testfile_2中的所有字元都變成了大寫字母

由標準輸入裝置讀入字串,並將字串轉換成大寫後,再輸出到標準輸出裝置,使用的命令為:

dd conv=ucase
輸入以上命令後按回車鍵,輸入字串,再按回車鍵,按組合鍵ctrl+d 退出,出現以下結果:

$ dd conv=ucase 

hello linux! #輸入字串後按回車鍵

hello linux! #按組合鍵ctrl+d退出,轉換成大寫結果

記錄了0+1 的讀入

記錄了0+1 的寫出

13位元組(13 b)已複製,12.1558 秒,0.0 kb/s

[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

該命令建立了乙個1m大小的檔案sun.txt,其中引數解釋:

塊大小可以使用的計量單位表

單元大小

**位元組(1b)

c位元組(2b)

w塊(512b)

b千位元組(1024b)

k兆位元組(1024kb)

m吉位元組(1024mb)

g以上命令可以看出dd命令來測試記憶體操作速度:

1048576 bytes (1.0 mb) copied, 0.006107 seconds, 172 mb/s

Linux 磁碟維護 losetup 命令詳解

losetup命令用於設定迴圈裝置。迴圈裝置可把檔案虛擬成區塊裝置,籍以模擬整個檔案系統,讓使用者得以將其視為硬碟驅動器,光碟機或軟碟機等裝置,並掛入當作目錄來使用。losetup d e 加密方式 o 平移數目 迴圈裝置代號 檔案 引數 1 建立空的磁碟映象檔案,這裡建立乙個1.44m的軟盤 dd...

linux磁碟管理命令 dd

功能 把指定的輸入檔案拷貝到指定的輸出檔案中,並且在拷貝過程中可以進行格式轉換。可以用該命令實現dos下的diskcopy命令的作用。先用dd命令把軟盤上的資料寫成硬碟的乙個寄存盤案,再把這個寄存盤案寫入第二張軟盤上,完成diskcopy的功能。需要注意的是,應該將硬碟上的寄存盤案用rm命令刪除掉。...

Linux命令 磁碟維護

badblocks badblocks命令用於檢查磁碟裝置中損壞的區塊,執行指令時須指定所要檢查的磁碟裝置,及此裝置的磁碟區塊數。cfdisk cfdisk命令用於磁碟分割槽,它十分類似dos的fdisk,具有互動式操作介面而非傳統fdisk的問答式介面,可以輕易地利用方向鍵來操控分割槽操作。dd ...