4 个版本 (2 个重大更新)

0.3.1 2019 年 3 月 21 日
0.3.0 2019 年 3 月 21 日
0.2.0 2019 年 3 月 18 日
0.1.0 2019 年 3 月 18 日

#1313 in 文件系统

MIT/Apache

10KB
107 代码行

bcp

一个方便的块复制程序。 bcp 旨在从 A 点到 B 点复制文件的连续块。想从一个文件中切割一块并将其粘贴到另一个文件的中间?这里就是了。

我想要的主要用途是进行磁盘镜像的轻量级手术,例如“将这个引导块复制到图像的此偏移量”。

用法

$ bcp --help
bcp 0.2.0
Simon Heath <[email protected]>
A convenient program for copying blocks of bytes within files.

USAGE:
    bcp [FLAGS] [OPTIONS] <SRC> <DST>

FLAGS:
    -v, --verbose    Verbose output, with progress bar.
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -s, --src-offset <src_offset>    The byte offset in the source file to start reading from. Must not be larger than
                                     the file in question. [default: 0]
    -d, --dst-offset <dst_offset>    The byte offset in the destination file to start writing to. Must not be larger
                                     than the file in question, and the file must exist. [default: 0]
    -c, --count <count>              The number of bytes to copy.  Defaults to "all of them", from the `src-offset` to
                                     the end of the file.  Asking to read past the end of the source file is an error.

ARGS:
    <SRC>    The source file to copy from.
    <DST>    The destination file to copy to.  Will create the file if it does not exist.

为什么?

基本上,目标是制作传统 Unix 工具 dd 的更优雅版本,因为 dd 只是...奇怪。参见Jargon 文件条目,特别是像“它的用户界面显然是一个恶作剧”和“它没有确切的替代品”这样的行。那么,为什么不直接做一个替代品呢?

特别是:我想要一个 Unix 风格的命令行界面,我想要能够从 A 点到 B 点复制大量文件块,我真的不需要 EBCDIC 转换、字节交换、“如果输出文件已存在则失败”被分类为转换、默认块大小为 512 字节(因为 PDP-11 上的硬盘块就是这样大),或者它能够捕获 SIGUSR1 并打印 I/O 统计信息。我想让它复制字节,仅此而已。

...好吧,还有一个进度条。但是仅此而已。真的!

许可

MIT/Apache-2

依赖关系

~3.5MB
~67K SLoC