Manpages

NAME

dd - 轉 換 和 拷 貝 文 件

摘 要

dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

描 述

當 進 行 非 強 制 的 轉 換 的 時 候 , 使 用 指 定 的 輸 入 和 輸 出 塊 大 小 拷 貝 文 件 ( 默 認 是 從 標 準 輸 入 到 標 準 輸 出 。 ) 它 每 次 從 輸 入 讀 取 指 定 大 小 的 一 個 塊 ( 默 認 是 512字 節 ) 。 如 果 使 用 bs=bytes 選 項 , 並 且 沒 有 轉 換 , 除 了 指 定 sync, noerror, 或 notrunc 之 外 , 那 麼 dd將 把 全 部 讀 到 的 數 據 ( 可 以 比 請 求 讀 的 少 ) 寫 到 獨 立 的 輸 出 塊 去 。 這 個 輸 出 塊 的 長 度 和 讀 到 的 數 據 完 全 一 樣 , 除 非 指 定 使 用 sync( 同 步 ) 轉 換 , 那 樣 的 話 , 數 據 結 尾 處 將 追 加 NUL字 符 ( 或 空 格 , 見 下 ) 。 其 他 情 況 下 , 輸 入 的 時 候 每 次 讀 一 個 塊 , 然 後 處 理 , 並 將 輸 出 結 果 收 集 起 來 , 最 後 寫 到 指 定 大 小 的 數 據 塊 中 去 。 最 終 的 輸 出 塊 可 能 會 比 指 定 的 大 小 短 一 些 。 數 字 值 選 項 ( 以 字 節 或 塊 爲 單 位 ) 後 面 可 以 跟 一 個 乘 數 : k=1024, b=512, w=2, c=1( w和 c是 GNU擴 展 語 法 。 最 好 別 使 用 w, 因 爲 在 system V中 , 它 表 示 2, 在 4.2 BSD中 , 它 表 示 4) 。 兩 個 或 更 多 的 數 值 表 達 式 可 以 通 過 “x”乘 起 來 。 GEU fileutils 4.0並 且 允 許 在 數 據 塊 大 小 的 敘 述 中 使 用 下 列 乘 法 後 綴 ( 用 bs=, cbs=, obs=) : M=1048576, G=1073741824, 同 理 可 得 T, P, E, Z, Y。 D後 綴 表 示 數 值 是 以 十 進 制 表 示 的 : kD=1000 MD=1000000 GD=1000000000等 等 。 ( 注 意 , 在 ls、 df、 du命 令 中 , M等 標 記 的 大 小 是 由 環 境 變 量 確 定 的 , 而 在 DD中 , 它 的 值 是 固 定 的 。 )

選 項

if=filefile 中 讀 而 不 是 標 準 輸 入 。
of=
file 寫 到 file 裏 去 而 不 是 標 準 輸 出 。 除 非 指 定 conv=notrunc , 否 則 , dd 將 把 file 截 爲 O字 節 ( 或 由 seek= 選 項 指 定 的 大 小 )
ibs=
bytes 一 次 讀 bytes 字 節 。 默 認 是 512。
obs=
bytes 一 次 寫 bytes 字 節 。 默 認 是 512。
bs=
bytes 一 次 讀 和 寫 bytes 字 節 。 這 將 覆 蓋 ibsobs 設 定 的 值 ( 並 且 , 設 定 bs 不 等 於 同 時 將 ibsobs 設 爲 同 一 個 值 , 至 少 在 只 使 用 sync, noerrornotrunc 轉 換 時 是 這 樣 的 。 因 爲 bs規 定 , 每 個 輸 入 塊 都 應 作 爲 單 獨 的 數 據 塊 拷 貝 到 輸 出 , 而 不 把 較 短 的 塊 組 合 到 一 起 ) 。
cbs=
bytesblock 轉 換 和 unblock 轉 換 指 定 轉 換 塊 的 大 小 。
skip=
blocks 在 拷 貝 之 前 , 跳 過 輸 入 文 件 的 前 blocks 塊 , 每 塊 大 小 爲 ibs-byte 字 節 。
seek=
blocks 在 拷 貝 之 前 , 跳 過 輸 出 文 件 的 前 blocks 塊 , 每 塊 大 小 爲 obs-byte 字 節 。
count=
blocks 只 拷 貝 輸 入 文 件 的 前 blocks 塊 ( 每 塊 的 大 小 爲 ibs-byte 字 節 ) , 而 不 是 全 部 內 容 , 直 到 文 件 末 尾 。
conv=
轉 換 "[,"轉 換 "]..." 將 文 件 按 轉 換 參 數 指 定 的 方 式 轉 換 ( 在 “,”兩 邊 沒 有 空 格 ) 。 轉 換 方 式 包 括 :

ascii

EBCDIC轉 換 成 ascii。

ebcdic

ascii轉 換 成 ebcdic。

ibm

ascii轉 換 成 alternative ebcdic。

block

一 行 輸 入 , 無 論 長 短 , 輸 出 都 是 cbs 字 節 , 並 且 其 中 的 “換 行 ”( NEWLINE, 即 c中 的 ’0) 用 空 格 替 換 。 如 有 必 要 , 行 尾 會 填 充 空 格 。

unblock 用 “換 行 ”替 換 每 個 輸 入 塊 ( cbs 字 節 大 小 ) 末 尾 的 空 格 。

lcase 將 大 寫 字 母 轉 換 成 小 寫 。

ucase 將 小 寫 字 母 轉 換 成 大 寫 。

swab 交 換 每 對 輸 入 字 節 。 如 果 讀 入 的 字 節 數 是 奇 數 , 最 後 一 個 字 節 只 是 簡 單 的 複 製 到 輸 出 ( 因 爲 沒 有 能 跟 它 交 換 的 字 節 了 ) (

POSIX 1003.26, PASC翻 譯 1003.2 3號 和 4號 ) 。
noerror
發 生 讀 錯 誤 時 , 繼 續 進 行 。
notrunc
不 截 斷 輸 出 文 件 。

sync

0填 充 到 每 個 輸 入 塊 的 末 尾 , 使 其 大 小 爲 ibs 字 節 。

GNU標 準 選 項

--help 將 用 法 信 息 打 印 到 標 準 輸 出 , 併 成 功 退 出 。

--version 將 版 本 信 息 打 印 到 標 準 輸 出 , 併 成 功 退 出 。

-- 結 束 選 項 列 表 。

環 境 變 量

LANG, LC_ALL, LC_CTYPE和 LC_MESSAGES具 有 其 通 常 含 義 。

遵 循 標 準

POSIX 1003.2

舉 例

磁 帶 機 通 常 不 能 接 受 任 意 大 小 的 數 據 塊 , 當 最 後 一 個 數 據 片 段 不 能 充 滿 整 個 塊 時 , dd 將 出 現 I/O錯 誤 。 用 ’dd if=myfile of=/dev/mytape conv=sync’ 就 可 以 使 全 部 內 容 存 到 磁 帶 上 。 當 然 , 這 樣 做 , 把 文 件 從 磁 帶 上 讀 回 時 回 產 生 一 個 稍 大 些 的 文 件 , 因 爲 其 尾 部 填 充 了 一 些 NUL( 空 字 符 ) 。

本 手 冊 頁 描 述 了 fileutils-4.0軟 件 包 中 的 dd 命 令 。 其 他 版 本 的 dd會 與 此 稍 有 不 同 。 有 關 更 正 和 補 充 可 以 發 帖 到 中 國 linux 論 壇 -man手 冊 版 。 報 告 程 序 中 的 錯 誤 , 請 給 fileutils-bugs2gnu.ai.wit.edu 發 郵 件 。

[中 文 版 維 護 人 ]

astonia <email>

[中 文 版 最 新 更 新 ]

2000/10/19

[中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 ]

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh