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=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=轉 換 "[,"轉
換 "]..." 將 文 件
按 轉 換 參 數 指
定 的 方 式 轉 換
( 在 “,”兩 邊 沒
有 空 格 ) 。 轉
換 方 式 包 括 :
ascii 將 |
EBCDIC轉 換 成 ascii。 |
||||||||||||||||||
ebcdic 將 |
ascii轉 換 成 ebcdic。 |
||||||||||||||||||
ibm 將 |
ascii轉 換 成 alternative ebcdic。 一 行 輸 入 , 無 論 長 短 , 輸 出 都 是 cbs 字 節 , 並 且 其 中 的 “換 行 ”( NEWLINE, 即 c中 的 ’0) 用 空 格 替 換 。 如 有 必 要 , 行 尾 會 填 充 空 格 。 unblock 用 “換 行 ”替 換 每 個 輸 入 塊 ( cbs 字 節 大 小 ) 末 尾 的 空 格 。
POSIX 1003.26,
PASC翻 譯 1003.2 3號 和 4號
) 。
GNU標 準 選 項
--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手 冊 頁 翻 譯 計 劃 ]跋本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh |