溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統中dd命令的具體用法介紹

發布時間:2021-09-15 16:41:43 來源:億速云 閱讀:161 作者:chen 欄目:系統運維

本篇內容主要講解“Linux系統中dd命令的具體用法介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux系統中dd命令的具體用法介紹”吧!

dd - 轉換和拷貝文件
當進行非強制的轉換的時候,使用指定的輸入和輸出塊大小拷貝文件 (默認是從標準輸入到標準輸出。)
它每次從輸入讀取指定大小的一個塊(默認是512字節)。 如果使用 bs=bytes 選項,并且沒有轉換,除了指定 sync, noerror, 或 notrunc 之外, 那么dd將把全部讀到的數據(可以比請求讀的少) 寫到獨立的輸出塊去。 這個輸出塊的長度和讀到的數據 完全一樣,除非指定使用 sync(同步) 轉換,那樣的話,數據結尾處將追加NUL字符(或空格,見下)。
其他情況下,輸入的時候每次讀一個塊,然后處理,并將 輸出結果收集起來,最后寫到指定大小的數據塊中去。最 終的輸出塊可能會比指定的大小短一些。

如果你想要在線看 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

當然你可以拿這個來方便的拷貝光碟(注意,你的光碟是標準的 iso9660格式才可以這么做??!)

dd if=/dev/cdrom of=cdrom.iso
其中 if 后面以及 of 后面的內容依你的需求調整。

然后給系統這個指令就可以燒了:

cdrecord -v cdrom.iso
這篇不是在講 cdrecord 的,所以上面的指令是最為簡單但是不一定能符合您的硬件環境...
功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉換??梢杂迷撁顚崿FDOS下的diskcopy命令的作用。先用dd命令把軟盤上的數據寫成硬盤的一個寄存文件,再把這個寄存文件寫入第二張軟盤上,完成diskcopy的功能。需要注意的是,應該將硬盤上的寄存文件用rm命令刪除掉。系統默認使用標準輸入文件和標準輸出文件。

if=file
    從 file 中讀而不是標準輸入。
of=file
    寫到 file 里去而不是標準輸出。除非指定 conv=notrunc ,否則, dd 將把 file 截為O字節(或由 seek= 選項指定的大?。?
ibs=bytes
    一次讀 bytes 字節。默認是512。
obs=bytes
    一次寫 bytes 字節。默認是512。
bs=bytes
    一次讀和寫 bytes 字節。這將覆蓋 ibs 和 obs 設定的值(并且,設定 bs 不等于同時將 ibs 和 obs 設為同一個值,至少在 只使用 sync, noerror 或 notrunc 轉換時是這樣的。因為bs規定,每個輸入塊都應作為單獨 的數據塊拷貝到輸出,而不把較短的塊組合到一起)。
cbs=bytes
    為 block 轉換和 unblock 轉換指定轉換塊的大小。
skip=blocks
    在拷貝之前,跳過輸入文件的前 blocks 塊,每塊大小為 ibs-byte 字節。
seek=blocks
    在拷貝之前,跳過輸出文件的前 blocks 塊,每塊大小為 obs-byte 字節。
count=blocks
    只拷貝輸入文件的前 blocks 塊(每塊的大小為 ibs-byte 字節),而不是全部內容,直到文件末尾。

轉換
conv=轉換[,轉換]...
    將文件按 轉換 參數指定的方式轉換(在lq,rq兩邊沒有空格)。

轉換方式包括:
        ascii
            將EBCDIC轉換成ascii。
        ebcdic
            將ascii轉換成ebcdic。
        ibm
            將ascii轉換成alternative ebcdic。
        block
            每一行輸入,無論長短,輸出都是 cbs 字節,并且其中的lq換行rq(NEWLINE,即c中的')用 空格替換。如有必要,行尾會填充空格。
        unblock
            用lq換行rq替換每個輸入塊( cbs 字節大?。┠┪驳目崭?。
        lcase
            將大寫字母轉換成小寫。
        ucase
            將小寫字母轉換成大寫。
        swab
            交換每對輸入字節。如果讀入的字節數是奇數,最后 一個字節只是簡單的復制到輸出(因為沒有能跟它交換的 字節了)(POSIX 1003.26,PASC翻譯1003.2 3號和4號)。
        noerror
            發生讀錯誤時,繼續進行。
        notrunc
            不截斷輸出文件。
        sync
            用0填充到每個輸入塊的末尾,使其大小為 ibs 字節。

例:

代碼如下:


[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全盤數據備份到指定路徑的image文件
[root@localhost ~]# dd if=/dev/hdx | gzip >/path/to/image.gz   #備份/dev/hdx全盤數據,并利用gzip工具進行壓縮,保存到指定路徑
[root@localhost ~]# dd if=/path/to/image of=/dev/hdx    # 將備份文件恢復到指定盤
[root@localhost ~]# gzip -dc /path/to/image.gz | dd of=/dev/hdx     #將壓縮的備份文件恢復到指定盤
[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   #拷貝光盤數據到root文件夾下,并保存為cd.iso文件

到此,相信大家對“Linux系統中dd命令的具體用法介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女