这是命令数据打包程序,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
datapacker - 将文件打包到最少 bin 数量的工具
概要
数据打包器 [ -0 [ -a 活动正式启动 [ -b FORMAT [ -d [ -p [ -S 尺寸 ] -s 尺寸 文件 ...
数据打包器 -h | - 帮帮我
商品描述
数据打包器 是一种按大小对文件进行分组的工具。 它旨在对文件进行分组,以便它们
使用最少数量的容器填充固定大小的容器(称为“垃圾箱”)。 这个
例如,如果您想将多个文件存档到 CD 或 DVD,并且想要
组织它们,以便您使用尽可能少的 CD 或 DVD。
在许多情况下, 数据打包器 几乎立即执行。 特别值得注意的是,
硬链接操作(参见下面的选项)可用于有效地将数据复制到 bin 中,而无需
必须实际复制数据。
数据打包器 是传统 Unix 风格的工具; 它可以在管道中使用并调用其他
工具。
配置
以下是您可以设置的命令行选项 数据打包器。 请注意 -s 和
至少一个文件(参见下面的文件规范)是强制性的。
-0
- 空值 从标准输入读取文件列表时(请参阅下面的文件规范),
期望输入由 NULL (ASCII 0) 字符分隔,而不是每个字符一个
线。 特别有用 发现 -打印0.
-a 活动正式启动
--动作=活动正式启动
定义对匹配采取的操作。 请注意,无论采取任何行动,
输出将按 bin 排序,首先是 bin 1。 可能的操作包括:
打印 每个文件打印一个人类可读的行。 每行包含 bin 编号
(以由给出的格式 -b),一个 ASCII 制表符,然后是文件名。
完整版
每个 bin 打印一条半人类可读的行。 每行包含 bin
编号,然后是要放置在该 bin 中的文件名列表,带有 ASCII 选项卡
bin 编号之后和每个文件名之间的字符。
打印0 对于每个文件,输出 bin 编号(根据给出的格式 -b),
一个 ASCII NULL 字符、文件名和另一个 ASCII NULL 字符。
非常适合与 xargs -0 -L 2 一起使用。
执行:指挥
对于每个文件,通过 shell 执行指定的 COMMAND。 该程序
COMMAND 将在其命令行上传递信息,如下所示。
如果为给定 bin 生成的命令行太大,则会出错
对于系统。
来自任何 COMMAND 的非零退出代码将导致 数据打包器 终止。 如果
COMMAND 包含引号,不要忘记引用整个命令,如:
datapacker '--action=exec:echo "Bin: $1"; 转移; ls "$@"'
给定命令的参数将是:
· argv[0] ($0 in shell) 将是用于调用
命令 -- $SHELL 或 /bin/sh。
· argv[1] ($1 in shell) 将是 bin 编号,格式为 -b.
· argv[2] and on ($2 and on in the shell) 将是放置在那个 bin 中的文件
硬链接
对于每个文件,在 箱子/文件名 指向原文
输入文件名。 创建目录 箱子 有必要的。 选择
位置和格式 箱子 可以指定 -b. 所有 bin 目录
并且所有输入必须驻留在同一个文件系统上。
处理完 bin 的结果后,您可以安全地删除
在不删除原始数据的情况下删除 bin。 或者,您可以离开
bins 并删除原始数据。 这两种方法都是可行的。
尝试在文件系统之间建立硬链接是错误的,或者有
在不同路径中具有相同文件名的两个输入文件。 数据打包器 将
在这两种情况中的任何一种情况下退出。
参见 --深层链接.
符号链接
喜欢 硬链接,而是创建符号链接。 符号链接可以跨越文件系统,
但是如果您删除原始(预装箱)数据,您将丢失信息。
喜欢 硬链接, 一个文件名出现在多个
使用此选项输入目录。
参见 --深层链接.
-b FORMAT
--binfmt=FORMAT
定义 bin 名称的输出格式。 此格式作为 %d 输入提供给
一个将其解释为的函数 的printf(3) 会。 这对
定义垃圾箱的名称和位置。 跑步时 数据打包器 -
某些参数,bin 格式可以被视为一个目录,其中的文件
那个bin是链接的。 默认为 %03d,它输出带前导的整数
零以使所有 bin 名称的宽度至少为三个字符。
其他有用的变体可能包括 destdir/%d 将字符串“destdir/”放入
bin 编号的前面,呈现时不带前导零。
-d
-调试
启用调试模式。 这是为了未来的扩展,目前没有
任何效果。
-D
--深层链接
当与符号链接或硬链接操作一起使用时,而不是在一个
bin下的单一平面目录,模仿bin下的源码目录结构
斌。 使用时最有意义 -p,但如果没有它也可能有用
在不同的源目录中有同名的文件。
- 帮帮我 显示简要使用信息并退出。
-p
--保留订单
通常情况下, 数据打包器 使用一种尝试重新排列文件的有效算法,例如
最小化所需的 bin 数量。 有时您可能希望
以可能使用更多 bin 为代价保留文件的顺序。 在
在这些情况下,您会想要使用此选项。
作为这种情况的一个例子:也许你每天拍一张照片
几年。 您想将这些照片存档到 CD,但您希望它们
按时间顺序存储。 您已命名文件,以便名称
指示顺序,因此您可以将文件列表传递给 数据打包器 运用 -p 保存
在您的垃圾箱中的订购。 因此,bin 1 将包含最旧的文件,bin 2 将包含
老二,以此类推。 如果 -p 没有使用,您可能会使用更少的 CD,但是
照片将散布在所有 CD 中,而不会保留您的时间顺序
秩序。
-s 尺寸
--大小=尺寸
以字节为单位给出每个 bin 的大小。 诸如“k”、“m”、“g”等后缀可能是
用于表示千字节、兆字节、千兆字节等。 数字如
1.5g 是有效的,如果需要,将四舍五入到最接近的整数
计算值。
第一个 bin 的大小可能会被覆盖 -S.
以下是一些常用垃圾箱的尺寸。 对于每件商品,我都为您提供
与光盘的基本记录容量和建议值
-s. 建议值 -s 低于基础容量,因为有
是由存储在磁盘上的文件系统强加的开销。 你或许会发现
建议值 -s 对于包含很少的光盘,低于最佳值
大文件,并且比包含大量小文件的光盘所需的高
文件。
· CD-ROM,74分钟(标准):650m / 600m
· CD-ROM,80分钟:703m / 650m
· CD-ROM,90分钟:790m / 740m
· CD-ROM,99分钟:870m / 820m
· DVD+-R:4.377g / 4g
· DVD+R,双层:8.5g / 8g
-S
--尺寸优先
第一个 bin 的大小。 如果没有给出,默认为给定的值 -s.
如果您将使用外部机制,这可能很有用 数据打包器 添加
第一个 bin 的附加信息:可能是哪个 bin 具有哪个的索引
文件、使 CD 可启动所需的信息等。您可以使用相同的
后缀如 -s 使用此选项。
- 种类 在对文件采取行动之前对要处理的文件列表进行排序。 当与 -p,
导致输出被排序。 除了增加 CPU 外,此选项无效
不结合使用时 -p.
文件 规格
在选项之后,您必须提供一个或多个文件以考虑打包到 bin 中。
或者,您可以列出单个连字符,而不是在命令行上列出文件
(-),它告诉 数据打包器 从标准输入 (stdin) 读取文件列表。
数据打包器 永远不会递归到子目录中。 如果您想要递归搜索 - 查找
给定目录及其所有子目录中的所有文件 - 请参阅
下面的示例部分。 数据打包器 旨在与 发现(1) 在这
让你利用 find 内置的强大递归和过滤的情况
功能。
从标准输入读取文件时,假定列表包含一个不同的
每行文件名。 经验丰富的 POSIX 老手会认识到
这种格式。 出于这个原因,当给出 -0 结合单个文件 -,
数据打包器 相反,将期望在标准输入上有一个文件列表,每个文件都以
一个 ASCII NULL 字符。 这样的列表可以很容易地生成 发现(1) 使用其
-打印0 选项。
示例
· 将所有 JPEG 图像放入 〜/图片 放入预先存在的垃圾箱(使用硬链接)
目录 〜/箱, 每个 bin 不超过 600MB:
数据打包器 -b 〜/垃圾箱/%03d -s 600m -a 硬链接 ~/图片/* .jpg
· 放入所有文件 〜/图片 或其任何子目录到 600MB 下 〜/箱,
使用硬链接。 这是一个简单的例子,如果你只是想要一个递归
搜索所有文件。
发现 〜/图片 -type f -print0 |
数据打包器 -0 -b 〜/垃圾箱/%03d -s 600m -a 硬链接 -
· 查找所有 JPEG 图像 〜/图片 或其任何子目录,将它们放入垃圾箱
(使用硬链接)在预先存在的目录下 〜/箱, 每个 bin 不超过 600MB:
发现 〜/图片 -名称“*.jpg”加载=“懒惰”-print0 |
数据打包器 -0 -b 〜/垃圾箱/%03d -s 600m -a 硬链接 -
· 找到如上的所有JPEG图像,将它们放入4GB的bins中,而不是将它们放入
在任何地方,计算每个 bin 的大小并显示它。
发现 〜/图片 -名称“*.jpg”加载=“懒惰”-print0 |
数据打包器 -0 -b 〜/垃圾箱/%03d -s 4g
'--action=exec:echo -n "$1: ";转移;杜-ch“$@” | grep 总计'
-
这将显示如下输出:
/home/jgoerzen/bins/001: 总共 4.0G
/home/jgoerzen/bins/002: 总共 4.0G
/home/jgoerzen/bins/003: 总共 4.0G
/home/jgoerzen/bins/004:总共992亿
注意:这个例子中的grep模式很简单,但是如果
任何匹配的文件都包含单词“total”。
· 找到所有如上的JPEG图像,并在其中生成600MB的ISO图像 〜/箱。 本篇
将直接生成 ISO 映像,而无需将文件硬链接到 〜/箱。
发现 〜/图片 -名称“*.jpg”加载=“懒惰”-print0 |
数据打包器 -0 -b 〜/垃圾箱/%03d.iso -s 4g
'--action=exec:BIN="$1";转移; mkisofs -r -J -o "$BIN" "$@"'
-
如果您愿意,您可以将此结果直接传送到 DVD 刻录应用程序中。
或者,您可以使用growisofs 在一个步骤中刻录DVD+R。
错误
如果任何指定的文件超过 -s 或 -S 给定的值,则会出错。
如果任何指定的文件消失,这也是一个错误 数据打包器 在跑。
使用 onworks.net 服务在线使用 datapacker