OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

拉链

这个 拉链 程序既是压缩工具又是存档器。 该程序使用的文件格式对于 Windows 用户来说是熟悉的,因为它读取和写入 邮编 文件。 然而,在 Linux 中, GZIP 是主要的压缩程序 bzip2 紧随其后。

在最基本的用法中, 拉链 是这样调用的:

拉链 选项 zipfile 文件...

例如,要制作我们的 Playground 的 zip 存档,我们会这样做:



[我@linuxbox ~]$ zip -r playground.zip 游乐场

[我@linuxbox ~]$ zip -r playground.zip 游乐场


除非我们包括 -r 递归选项,只有 操场 目录(但不存储任何内容)。 虽然增加了扩展 邮编 是自动的,为了清楚起见,我们将包含文件扩展名。

在创建 zip 存档期间, 拉链 通常会显示一系列如下消息:



添加:playground/dir-020/file-Z(存储0%)添加:playground/dir-020/file-Y(存储0%)添加:playground/dir-020/file-X(存储0%)添加: playground/dir-087/(存储 0%)添加:playground/dir-087/file-S(存储 0%)

添加:playground/dir-020/file-Z(存储0%)添加:playground/dir-020/file-Y(存储0%)添加:playground/dir-020/file-X(存储0%)添加: playground/dir-087/(存储 0%)添加:playground/dir-087/file-S(存储 0%)


这些消息显示添加到存档中的每个文件的状态。 拉链 将使用两种存储方法之一将文件添加到存档中:要么“存储”未经压缩的文件,如下所示,要么“压缩”执行压缩的文件。 存储方法后显示的数值表示实现的压缩量。 由于我们的 Playground 仅包含空文件,因此不会对其内容进行压缩。

使用 拉开拉链 程序:


[我@linuxbox ~]$ 光盘

[我@linuxbox foo]$ 解压../playground.zip

[我@linuxbox ~]$ 光盘

[我@linuxbox foo]$ 解压../playground.zip


需要注意的一件事 拉链 (相对于 焦油) 是如果指定了现有存档,则更新而不是替换它。 这意味着保留现有存档,但添加新文件并替换匹配文件。

可以通过将文件指定为从 zip 存档中选择性地列出和提取文件

../游乐场.zip

../游乐场.zip

日期

----

日期

----

时间

----

时间

----

10-05-16 09:25

10-05-16 09:25

解压:



[我@linuxbox ~]$ unzip -l playground.zip 游乐场/dir-087/file-Z

[我@linuxbox ~]$ unzip -l playground.zip 游乐场/dir-087/file-Z


存档:

长度

--------

0

--------

0

姓名

----

游乐场/dir-087/file-Z

-------

1档

存档:

长度

--------

0

--------

0


[我@linuxbox ~]$ 光盘

[我@linuxbox foo]$ 解压 ../playground.zip playground/dir-087/file-Z

存档:../playground.zip

替换操场/dir-087/file-Z? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

提取:playground/dir-087/file-Z

[我@linuxbox ~]$ 光盘

[我@linuxbox foo]$ 解压 ../playground.zip playground/dir-087/file-Z

存档:../playground.zip

替换操场/dir-087/file-Z? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

提取:playground/dir-087/file-Z


图片

使用 -l 选择原因 拉开拉链 只列出档案的内容而不提取文件。 如果没有指定文件, 拉开拉链 将列出存档中的所有文件。 这 -v 可以添加选项以增加列表的详细程度。 请注意,当存档提取与现有文件冲突时,会在替换文件之前提示用户。

喜欢 焦油, 拉链 可以使用标准输入和输出,尽管它的实现有点不太有用。 可以将文件名列表通过管道传输到 拉链 通过 -@ 选项​​:


[我@linuxbox foo]$ cd

[我@linuxbox ~]$ find playground -name "file-A" | zip [email protected]

[我@linuxbox foo]$ cd

[我@linuxbox ~]$ find playground -name "file-A" | zip [email protected]


在这里我们用 发现 生成与测试匹配的文件列表 -name "文件-A",然后将列表通过管道传输到 拉链, 这将创建存档 文件-A.zip 包含所选文件。

zip 也支持将其输出写入标准输出,但它的使用受到限制,因为很少有程序可以使用该输出。 不幸的是,解压缩程序不接受标准输入。 这可以防止 zip 和 unzip 一起使用来执行


表格网络文件复制之类的 焦油.

然而,zip 可以接受标准输入,因此它可以用于压缩其他程序的输出:



[我@linuxbox ~]$ ls -l /etc/ | 压缩 ls-etc.zip -

添加:-(放气 80%)

[我@linuxbox ~]$ ls -l /etc/ | 压缩 ls-etc.zip -

添加:-(放气 80%)


在这个例子中,我们通过管道传输输出 ls 拉链。 如 焦油, 拉链 将尾随的破折号解释为“对输入文件使用标准输入”。

这个 拉开拉链 程序允许将其输出发送到标准输出 -p (对于管道)选项已指定:



[我@linuxbox ~]$ unzip -p ls-etc.zip | 较少的

[我@linuxbox ~]$ unzip -p ls-etc.zip | 较少的


我们触及了一些基本的东西 拉链/拉开拉链 可以做。 它们都有很多选项来增加它们的灵活性,尽管有些是特定于其他系统的平台。 两者的手册页 拉链 拉开拉链 非常好,包含有用的示例。 但是,这些程序的主要用途是与 Windows 系统交换文件,而不是在 Linux 上执行压缩和归档,其中 焦油 GZIP 非常受欢迎。


OnWorks 的顶级操作系统云计算: