天天看點

linux終端dd指令,Linux dd指令

Linux 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

[email protected]:~$ 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

輸入以上指令後按Enter鍵,輸入字元串,再按Enter鍵,按組合鍵Ctrl+D 退出,出現以下結果:

$ dd conv=ucase

Hello Linux! #輸入字元串後按Enter鍵

HELLO LINUX! #按組合鍵Ctrl+D退出,轉換成大寫結果

記錄了0+1 的讀入

記錄了0+1 的寫出

13位元組(13 B)已複制,12.1558 秒,0.0 KB/s