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 |