4 个版本
使用旧 Rust 2015
0.2.1 | 2018 年 11 月 15 日 |
---|---|
0.2.0 | 2018 年 11 月 15 日 |
0.1.1 | 2018 年 11 月 15 日 |
0.1.0 | 2018 年 11 月 13 日 |
在 #convert-file 中排名 #9
每月下载量 43
用于 dd
82KB
1.5K SLoC
dd: 转换并复制文件
概要
dd [操作数]... dd 选项
描述
根据操作数复制文件,转换并格式化。
bs=BYTES
每次读取和写入最多 BYTES 字节(默认:512);覆盖 ibs 和 obs
cbs=BYTES
每次转换 BYTES 字节
conv=CONVS
根据逗号分隔的符号列表转换文件
count=N
只复制 N 个输入块
ibs=BYTES
每次读取最多 BYTES 字节(默认:512)
if=FILE
从 FILE 读取而不是 stdin
iflag=FLAGS
根据逗号分隔的符号列表读取
obs=BYTES
每次写入 BYTES 字节(默认:512)
of=FILE
写入 FILE 而不是 stdout
oflag=FLAGS
根据逗号分隔的符号列表写入
seek=N
在输出开始处跳过 N 个 obs 大小的块
skip=N
在输入开始处跳过 N 个 ibs 大小的块
status=LEVEL
打印到 stderr 的信息级别;'none' 抑制除错误消息之外的所有内容,'noxfer' 抑制最终传输统计信息,'progress' 显示周期性传输统计信息
N 和 BYTES 可以跟以下乘法后缀:c =1, w =2, b =512, kB =1000, K =1024, MB =1000_1000, M =1024_1024, xM =M, GB =1000_1000_1000, G =1024_1024_1024,依此类推 T, P, E, Z, Y。
CONV
每个 conv 符号可以是
ascii
从 EBCDIC 到 ASCII
ebcdic
从 ASCII 到 EBCDIC
ibm
从 ASCII 到备用 EBCDIC
block
用空格填充以 newline 结尾的记录到 cbs-size
unblock
用 newline 替换 cbs-size 记录中的尾随空格
lcase
将大写转换为小写
ucase
将小写转换为大写
sparse
对于 NUL 输入块,尝试寻找而不是写入输出
swab
交换每个输入字节
sync
用 NUL 填充每个输入块到 ibs-size;当与 block 或 unblock 一起使用时,用空格而不是 NUL 填充
excl
如果输出文件已存在,则失败
nocreat
不创建输出文件
notrunc
不要截断输出文件
无错误
读取错误后继续
fdatasync
在完成前物理写入输出文件数据
fsync
同样,但也会写入元数据
FLAG
每个FLAG符号可以是:-append 追加模式(只对输出有意义;建议conv=notrunc)
direct
使用直接I/O进行数据操作
directory
除非是目录否则失败
dsync
使用同步I/O进行数据操作
sync
同样,但也会对元数据进行操作
fullblock
累积完整的输入块(仅iflag)
nonblock
使用非阻塞I/O
noatime
不更新访问时间
nocache
请求丢弃缓存。另见 oflag=sync
noctty
不要从文件分配控制终端
nofollow
不要跟随符号链接
count_bytes
将 'count=N' 作为字节数(仅iflag)处理
skip_bytes
将 'skip=N' 作为字节数(仅iflag)处理
seek_bytes
将 'seek=N' 作为字节数(仅oflag)处理
SIGNALS
向正在运行的 'dd' 进程发送 USR1 信号会使它打印 I/O 统计信息到标准错误,然后继续复制。
OPTIONS
--help 显示此帮助并退出 --version 输出版本信息并退出
AUTHOR
最初由 Paul Rubin、David MacKenzie 和 Stuart Kemp 编写。克隆版本仅通过查看 Efron Licht 的手册页面编写。输入、输出和编码
Dependencies
~2–12MB
~116K SLoC