首頁 > 軟體

Linux dd命令詳解

2020-06-16 16:48:41

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 
linuxidc@linuxidc:~$ 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

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-08/153578.htm


IT145.com E-mail:sddin#qq.com