日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux+dd模式,Linux命令之dd详解

發布時間:2023/12/19 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux+dd模式,Linux命令之dd详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

dd [OPERAND]

dd 選項

復制一個文件,根據[OPERAND]進行轉換和格式化

(1). OPERAND參數

說明1:dd的選項只有’--help’和’--version’,也就是幫助與版本信息。而下列都是[操作數],而非選項。

說明2:讀取是輸入,寫入是輸出

說明3:不指定if,默認從標準輸入讀取。如果不指定of,默認寫入到標準輸出

bs=BYTES 同時設置讀取和寫入(輸入ibs輸出obs)的塊大小為BYTES個字節,具體看本章(4).塊大小可以使用的計量單位

cbs=BYTES 一次轉換BYTES個字節,即指定轉換緩沖區大小

conv=CONVERSION[,CONVERSION] 用指定參數轉換文件

count=N 僅拷貝N個塊,塊大小等于ibs指定的字節數

ibs=BYTES 一次讀取BYTES個字節,即指定一個塊大小為BYTES個字節(默認512)

if=FILE 從文件讀取代替標準輸入,即指定源文件

iflag=FLAG[,FLAG] 使用FLAG參數指定的輸入方式

obs=BYTES 一次寫入BYTES個字節,即指定一個快大小為BYTES個字節(默認512)

of=FILE 寫入到文件代替標準輸出,即指定目的文件

oflag=FLAG[,FLAG] 使用FLAG參數指定的輸出方式

seek=BLOCKS 從輸出文件開頭跳過BLOCKS個輸出塊再開始復制(小心ibs和obs不一樣)

skip=BLOCKS 從輸入文件開頭跳過BLOCKS個輸入塊再開始復制(小心ibs和obs不一樣)

status=WHICH 用來控制dd程序的輸出信息。分別為noxfer,none和progress,默認為progress。none不輸出任何相關信息,錯誤信息正常輸出。noxfer不輸出最后的統計信息。progress輸出所有信息。

(2).CONVERSION參數

ascii 由ebcdic碼轉換至ascii碼

ebcdic 由ascii碼轉換至ebcdic碼

ibm 由ascii碼轉換至替換的ebcdic碼

block 對于輸入中的每一行輸出cbs個字節,用空格替換輸入換行符,必要時用空格填充

unblock 刪除cbs大小的塊的尾部空格,并添加一個換行符

lcase 將大寫字符轉換為小寫字符

nocreat 不創建輸出文件,輸出文件必須已經存在

excl 輸出文件已經存在則失敗;dd命令必須創建文件本身

notrunc 不要截斷輸出文件(不將文件長度縮短為0)

ucase 將小寫字符轉換為大寫字符

sparse 嘗試查找而不是編寫空(NUL)輸出塊。在支持稀疏文件的文件系統中,當擴展輸出文件時,這會創建稀疏輸出。

swab 交換每對字節,奇數時最后一個字節只復制

noerror 讀取數據發生錯誤后仍然繼續

sync 把每個輸入塊以空(NUL)填充至ibs大小,如果配合日block或unblock使用,則以空格代替空(NUL)填充

fdatasync 結束前將輸出文件數據寫入磁盤

fsync 類似上面,但元數據也一同寫入

(3).FLAG參數

append 追加模式。將數據拷貝到目標文件末尾,同時應該設置conv=notrunc。否則文件將在被拷貝之前清空。

cio 使用并發I/O存取模式,此模式使用直接I/O。并刪除POSIX要求,將所有I/O串行化到同一個文件。在cio模式下無法打開該文件,同時打開一個標準文件(這句話可能有錯,原文:A file cannot be opened at cio mode,and with a standard open in the same time.)。

direct 使用直接I/O存取模式,避免緩沖區高速緩存(不在內存中對文件數據進行緩存)

directory 僅拷貝文件夾,因為很多系統不支持對文件夾進行I/O操作,所以不太實用。

dsync 使用同步I/O模式讀寫數據。每次寫的時候,都強制進行一次物理寫入(寫入/保存到磁盤)

sync 數據和元數據都使用同步I/O模式。

fullblock 直到填充萬一個塊后才返回

nonblack 使用非阻塞I/O

noatime 不改變文件的訪問時間

noctty 不對dd使用指定的文件作為控制終端

nofollow 不跟隨符號鏈接

nolinks 如果有多個硬鏈接則失敗(硬鏈接和軟鏈接也就是符號鏈接,自己查一下吧,有點復雜)

binary 使用二進制I/O

text使用text I/0

count_bytes 將count的單位設置為字節,而不是塊

(4).塊大小可以使用的計量單位

單位大小

代碼

字節(1B)

c

字節(2B)

w

塊(512B)

b

千字節(1024B)

k

兆字節(1024KB)

M

吉字節(1024MB)

G

(5).實例

根據/dev/zero空文件創建一個50M的空文件

[[email?protected] ~]$ dd if=/dev/zero of=1.txt bs=M count=50

記錄了50+0 的讀入

記錄了50+0 的寫出

52428800字節(52 MB)已復制,0.0508383 秒,1.0 GB/秒

[[email?protected] ~]$ ll -h 1.txt

-rw-rw-r--. 1 xf xf 50M 2月 26 10:17 1.txt

[[email?protected] ~]$ cat 1.txt

[[email?protected] ~]$

注意:還可以用于完整備份。dd if=/dev/sda of=/dev/sdb(包括超級塊等)

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux+dd模式,Linux命令之dd详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。