这是 unzipsfx 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
unzipsfx - 自解压存根,用于预置 ZIP 档案
概要
<姓名 of 解压+存档 组合> [-cfptuz[ajnoqsCLV$]][文件(S) ... [-x X档案) ...]]]
商品描述
解压 是修改后的版本 拉开拉链(1) 设计为预先添加到现有 ZIP
档案以形成自解压档案。 而不是取其第一个非标志
参数是要提取的压缩文件, 解压 以自己的名义寻求自己
它被调用并测试或提取附加档案的内容。 因为
可执行存根为存档添加了大量内容(其整个目的是尽可能小
尽可能),一些不太重要的能力在常规 拉开拉链 已被删除。
其中包括使用(或帮助)屏幕、列表和诊断功能(-l 和
-v),能够解压缩旧的压缩格式(“reduce”、“shrink”和
“内爆”方法)。 提取到当前目录以外的目录的能力
可以选择作为编译时选项,由于 UnZipSFX 现在默认启用
版本 5.5。 同样,作为编译时选项支持解密,但应该
除非附加的存档包含加密文件,否则避免使用。 从 5.5 版开始,
另一个编译时选项添加了一个简单的“提取后运行命令”功能。 这个
功能当前与“提取到不同目录”功能不兼容,并且
默认情况下保持禁用。
备注 这 自解压 档案 made - 解压 旨在 没有 更多 (或 较少的) 手提
横过 不同 操作 系统 比 is 此 拉开拉链 可执行 本身。 一般来说一个
例如,在特定 Unix 系统上制作的自解压档案只能自解压
在相同风格的 Unix 下提取。 常规的 拉开拉链 仍可用于提取
嵌入存档与任何普通的 zipfile 一样,尽管它会生成一个无害的警告
关于 zipfile 开头的额外字节。 尽管 Free Introduction然而,自
提取存档在技术上是 而不去 有效的 ZIP 存档,并且 PKUNZIP 可能无法
测试或提取它。 此限制是由于存档方式过于简单
被建造; 内部目录结构不会更新以反映额外的字节
预先添加到原始 zipfile 中。
争论
[文件(S)]
要处理的存档成员的可选列表。 常用表达
(通配符)类似于 Unix 中的那些 埃格雷普(1) 可用于匹配多个
成员。 这些通配符可能包含:
* 匹配 0 个或多个字符的序列
? 正好匹配 1 个字符
[...] 匹配括号内的任何单个字符; 范围被指定
由开始字符、连字符和结束字符组成。 如果
感叹号或插入符号(`!' 或 `^')跟在左括号之后,然后
括号内的字符范围是互补的(也就是说,任何
除 括号内的字符被认为是匹配的)。
(一定要引用任何可能被解释或修改的字符
操作系统,特别是在 Unix 和 VMS 下。)
[-x X档案)]
要从处理中排除的存档成员的可选列表。 由于通配符
字符匹配目录分隔符 (`/'),此选项可用于排除任何
子目录中的文件。 例如,``foosfx *.[ch] -x */*'' 会
提取主目录中的所有 C 源文件,但不提取任何子目录中的 C 源文件。
没有 -x 选项,压缩文件中所有目录中的所有 C 源文件
将被提取。
If 解压 编译时定义了 SFX_EXDIR,还启用了以下选项:
[-d 目录]
将文件提取到的可选目录。 默认情况下,所有文件和
在当前目录中重新创建子目录; 这 -d 选项允许
在任意目录中提取(总是假设一个人有写权限
到目录)。 选项和目录可以连接,没有任何白色
它们之间的空间,但请注意,这可能会导致正常的外壳行为
压制。 特别是,“-d ~”(波浪号)被 Unix C shell 扩展为
用户主目录的名称,但 ``-d~'' 被视为文字子目录
``~'' 当前目录。
配置
解压 支持以下 拉开拉链(1) 选项: -c 和 -p (提取到标准
输出/屏幕), -f 和 -u (在提取时刷新和更新现有文件), -t (测试
存档)和 -z (打印存档评论)。 所有正常的列表选项(-l, -v 和 -Z)有
已被删除,但测试选项(-t) 可以用作“穷人的”列表。
或者,那些创建自解压档案的人可能希望包括一个简短的列表
在 zipfile 注释中。
参见 拉开拉链(1) 有关这些选项的更完整说明。
修饰语
解压 目前支持所有 拉开拉链(1) 修饰符: -a (转换文本文件), -n (绝不
覆盖), -o (覆盖而不提示), -q (安静地操作), -C (匹配名称大小写-
麻木不仁), -L (将大写操作系统名称转换为小写), -j (垃圾路径)和 -V
(保留版本号); 加上以下操作系统特定的选项: -X
(恢复 VMS 所有者/保护信息), -s (将文件名中的空格转换为下划线 [DOS,
OS/2, NT]) 和 -$ (恢复卷标 [DOS、OS/2、NT、Amiga])。
(在未来的版本中可能会删除对常规 ASCII 文本转换的支持,因为它是
对档案的创建者来说足够简单,以确保文本文件具有适当的
本地操作系统的格式。 EBCDIC 转换当然会继续得到支持,因为
zipfile 格式意味着文本文件的 ASCII 存储。)
参见 拉开拉链(1) 更完整地描述这些修饰符。
环境 配置
解压 使用相同的环境变量作为 拉开拉链(1) 确实如此,尽管这很可能
仅对创建和测试自解压档案的人来说是一个问题。 看
拉开拉链(1) 详情。
解密
完全支持解密 拉开拉链(1); 也就是说,与非回声交互
提示输入密码。 看 拉开拉链(1) 详情。 再次注意,如果
存档没有加密文件,没有理由使用 解压 -
解密支持; 这只会增加存档的大小。
自动运行 指挥
什么时候 解压 编译时定义了 CHEAP_SFX_AUTORUN,一个简单的“命令自动运行”
支持功能。 您可以在 Zip 存档注释中输入命令,使用
以下格式:
$AUTORUN$>[命令行字符串]
什么时候 解压 识别 Zip 存档开头的 ``$AUTORUN$>'' 标记
注释,注释第一行的剩余部分(直到第一个换行符
字符)作为 shell 命令使用 C rtl ``system'' 传递给操作系统
功能。 在执行命令之前, 解压 在控制台上显示命令并
提示用户确认。 当用户通过指定关闭提示时
此 -q 选项,从不执行自动运行命令。
如果存档注释包含额外的文本行,则其余的
第一行后面的归档注释正常显示,除非安静操作
通过提供一个请求 -q 选项。
示例
创建自解压存档 信件 从一个普通的 zipfile 信件.zip 并改变
新存档在 Unix 下的全球可执行权限:
cat unzipsfx 信件.zip > 信件
chmod 755 个字母
zip -A 字母
要在 MS-DOS、OS/2 或 NT 下创建相同的存档(注意使用 /b [二进制]
选项 复制 命令):
复制 /b unzipsfx.exe+letters.zip 信件.exe
zip -A 字母.exe
在 VMS 下:
复制 unzipsfx.exe,letters.zip 信件.exe
字母 == "$currentdisk:[currentdir]letters.exe"
zip -A 字母.exe
(VMS 附加 也可以使用命令。 第二个命令将新程序安装为
一个能够接受参数的“外部命令”。 第三行假设 Zip 是
已作为外部命令安装。)在 AmigaDOS 下:
MakeSFX 字母字母.zip UnZipSFX
(MakeSFX 包含在 UnZip 源代码分发和 Amiga 二进制文件中
分布。 ``zip -A'' 不适用于 Amiga 自解压档案。)测试(或
列表)新创建的自解压存档:
字母 -t
去测试 信件 安静地,仅打印一条摘要消息,指示存档是否已
好不好:
字母-tqq
将完整的内容解压到当前目录,重新创建所有文件和
必要的子目录:
信件
提取所有 *.txt 文件(在 Unix 中引用 `*'):
字母 *.txt
提取一切 除 *.txt 文件:
字母 -x *.txt
仅将 README 文件提取到标准输出(屏幕):
字母 -c 自述文件
只打印 zipfile 注释:
字母-z
限制
原则和基本限制 解压 是它不可移植
体系结构或操作系统,因此生成的档案也不是。 为了
然而,某些架构的可移植性有限(例如,在某些风格的
基于 Intel 的 Unix)。
当前实现的另一个问题是任何带有“垃圾”的存档
从技术上讲,放在开头不再是 zipfile(除非 拉链(1) 用于
适当调整 zipfile 偏移量,如上所述)。 拉开拉链(1) 注意到
由于某些文件传输协议,特别是 MacBinary,所以预先添加字节并忽略它们,
也已知预先添加垃圾。 但是PKWARE的归档套件可能无法处理
修改后的存档,除非其偏移量已调整。
解压 不知道用户的 PATH,因此通常存档必须位于
调用时的当前目录,否则必须给出完整或相对路径。
如果用户尝试从 PATH 中的目录中提取存档,而不是
目前的, 解压 将打印一个警告,“找不到我自己”。这是
在 Unix 下始终为真,在某些情况下在 MS-DOS 下可能为真,具体取决于
使用的编译器(Microsoft C 完全限定程序名称,但其他编译器可能不会)。
在 OS/2 和 NT 下,有提供完整路径的操作系统调用
名称,因此可以从用户路径中的任何位置调用存档。 情况是
不知道 AmigaDOS、Atari TOS、MacOS 等。
如上所述,一些正常的 拉开拉链(1) 功能已被删除,以便
使 解压 更小:使用和诊断信息,列出功能和提取到
其他目录。 此外,仅支持存储和压缩的文件。 后者
然而,限制主要与创建 SFX 档案的人有关。
VMS 用户必须知道如何将自解压存档设置为外部命令,以便
使用任何 解压的选项。 这对于简单的提取不是必需的,但是
这样做的命令然后变成,例如,“运行字母”(继续给出的例子
以上)。
解压 在 Amiga 上需要使用一个特殊的程序 MakeSFX,以便创建
工作自解压档案; 简单的串联不起作用。 (对于技术上
面向用户,附加档案被定义为“调试块”。)可能有
较旧的 Amigas 和较新的 ROM 级别之间的兼容性问题。
当前的所有错误 拉开拉链(1) 存在于 解压 以及。
诊断
解压的退出状态(错误级别)与 拉开拉链(1); 见
相应的手册页。
使用 onworks.net 服务在线使用 unzipsfx