Zip命令的实际例子

使用Linux zip命令可以做很多事情

有许多不同的方法可以使用Linux命令行来压缩文件。 本文包括一些实际示例, 说明如何使用zip命令压缩和组织文件在您的文件系统中。

当您需要节省空间并将大文件从一个地方复制到另一个地方时,将使用压缩文件。

如果您有10个文件大小均为100 MB,并且您需要将它们传输到ftp站点,则传输可能需要相当长的时间,具体取决于您的处理器速度。

如果您将全部10个文件压缩到单个压缩归档中 ,并且压缩将文件大小减小到每个文件50MB,那么您只需传输一半的数据。

如何创建文件夹中所有文件的存档

想象一下你有一个包含下列MP3文件的歌曲文件夹:

AC / DC公路到地狱
Night Prowler.mp3
爱饥饿的男人.mp3
Get It Hot.mp3
走遍你.mp3
高速公路去hell.mp3
如果你想要血,你得到它.mp3
在flames.mp3中显示
触摸太多.mp3
殴打bush.mp3
女孩得到了Rhythm.mp3

这个简单的Linux命令演示了如何创建名为ACDC_Highway_to_Hell.zip的当前文件夹中所有文件的存档:

邮编ACDC_Highway_to_Hell *

文本向上滚动显示正在添加的文件的屏幕。

如何在档案中包含隐藏的文件

上述命令适用于归档文件夹中的所有文件,但它只包含未隐藏的文件。

这并不总是这么简单。 想象一下,你想压缩你的主文件夹,以便你可以备份到USB驱动器外部硬盘驱动器 。 您的主文件夹包含隐藏的文件。

要压缩包含文件夹中隐藏文件的所有文件,请运行以下命令:

拉链家*。*

这将创建一个名为home.zip的文件,其中包含主文件夹中的所有文件。

(您必须位于主文件夹才能正常工作)。 这个命令的问题在于它只包含主文件夹中的文件而不包含文件夹,这将使我们看到下一个示例。

如何在Zip文件中存档所有文件和子文件夹

要将所有文件和子文件夹包含在档案中,请运行以下命令:

zip -r首页。

如何将新文件添加到现有的压缩档案

如果要将新文件添加到现有存档或更新存档中的文件,请在运行zip命令时使用相同的存档文件名称。

例如,假设您有一个包含四个相册的音乐文件夹,并且您创建了一个名为music.zip的存档以作为备份。 现在想象一个星期后你下载两张新专辑 。 要将新相册添加到zip文件,只需运行与前一周相同的zip命令即可。

要创建原始音乐档案,请运行以下代码:

zip -r音乐/家庭/你的名字/音乐/

要将新文件添加到存档,请再次运行相同的命令。

如果zip文件中包含文件列表,并且磁盘上的某个文件已更改,则修改后的文件将在zip文件中更新。

如何更新压缩档案中的现有文件

如果您有一个每次都包含相同文件名的zip文件,并且您希望通过对这些文件所做的任何更改来更新该文件,那么-f开关可帮助您执行此操作。

例如,假设你有一个带有以下文件的压缩文件:

/家庭/提供yourname /文件/文件1
/家庭/提供yourname /文件/文件2
/家庭/提供yourname /文件/文件3
/家庭/提供yourname /文件/文件4
/家庭/提供yourname /文件/ file5
/家庭/提供yourname /文件/ file6

现在想象一下,在这一周中,您添加了两个新文件并修改了两个文件,以便文件夹/ home / yourname / documents现在看起来像这样:

/家庭/提供yourname /文件/文件1
/家庭/提供yourname /文件/文件2
/家庭/提供yourname /文件/文件3
/ home / yourname / documents / file4(已更新)
/ home / yourname / documents / file5(已更新)
/家庭/提供yourname /文件/ file6
/家庭/提供yourname /文件/ file7
/家庭/提供yourname /文件/ file8

当您运行以下命令时,zip文件将包含更新的文件(file4和file5),但不会添加file7和file8。

zip zipfilename -f -r / home / yourname / documents

如何从压缩档案中删除文件

因此,您创建了一个包含数百个文件的大型zip文件,现在意识到zip文件中有四个或五个文件,您不需要这些文件。 无需再次压缩所有这些文件,只需使用-d开关运行zip命令,如下所示:

zip zipfilename -d [档案文件的名称]

例如,如果档案中的文件名为home / documents / test.txt,则可以使用以下命令将其删除:

zip zipfilename -d home / documents / test.txt

如何将文件从一个Zip文件复制到另一个文件

如果您有一个zip文件中的文件,并且您希望将它们复制到另一个zip文件,而不先提取它们并重新对它们进行重新分类,请使用-u开关。

假设您有一个名为“variousmusic.zip”的压缩文件,其中包含来自不同艺术家的音乐,其中之一是AC / DC。 您可以使用以下命令将AC / DC歌曲从各种music.zip文件复制到ACDC.zip文件中:

zip variousmusic.zip -U --out ACDC.zip“Back_In_Black.mp3”

上述命令将各种音乐.zip文件“Back in black”复制到ACDC.zip。 如果您正在复制的zip文件不存在,则会创建该文件。

如何使用模式匹配和管道创建档案

下一个开关非常有用,因为它可以让您使用其他命令的输出将文件插入到您的zip文件中。 假设你想创建一个名为lovesongs.zip的文件,其中包含标题中包含爱字的每首歌曲。

要在标题中找到爱的文件,您可以使用以下命令:

find / home / yourname / Music -name * love *

上面的命令不是100%完美的,因为它也会提取“三叶草”这样的词,但是你明白了。 要将上述命令的所有返回结果添加到名为lovesongs.zip的zip文件,请运行以下命令:

find / home / yourname / Music -name * love * | 邮编lovesongs.zip - @

如何创建拆分档案

如果您正在备份计算机,但唯一可用于备份的介质是一组空白DVD ,则可以选择。 您可以继续压缩文件,直到压缩文件为4.8千兆字节并刻录DVD ,或者您可以创建一个称为拆分压缩文件的内容,该文件在达到您指定的限制后不断创建新的压缩文件。

例如:

zip mymusic.zip -r / home / myfolder / Music -s 670m

如何自定义压缩过程的进度报告

有多种方法可以自定义压缩过程中出现的输出。

可用的交换机如下所示:

例如:

zip myzipfilename.zip -dc -r / home / music

如何修复一个Zip文件

如果你有一个破解的zip压缩文件,你可以尝试使用-F命令修复它,如果失败了,可以使用FF命令。

如果您使用-s开关创建了拆分归档文件,并且丢失了其中一个归档文件,这很有用。

例如,首先尝试一下:

zip -F myfilename.zip --out myfixedfilename.zip

接着

zip -FF myfilename.zip --out myfixedfilename.zip

如何加密档案

如果您想要将敏感信息存储在zip文件中,请使用-e命令对其进行加密 。 系统会要求您输入密码并重复输入密码。

例如:

zip myfilename.zip -r / home / wikileaks -e

如何显示将被压缩的内容

如果您知道您将要创建一个大型压缩文件,请确保将正确的文件添加到压缩文件中。 您可以通过指定- sf开关来查看zip命令的预期结果。

例如:

zip myfilename.zip -r / home / music / -sf

如何测试档案

将文件备份到一个zip文件后,通过删除原始文件来节省磁盘空间是很诱人的。 在你这样做之前,测试一下zip文件是否正常工作是个好主意。

您可以使用-T开关来测试该zip文件是否有效。

例如:

zip myfilename.zip -T

归档无效时从该命令输出的内容可能如下所示:

请记住,您可以尝试使用-F命令修复损坏的zip文件。

值得注意的是,-T可能会产生误报,因为它说一个zip文件已损坏,即使打开它时也可以提取所有文件。

如何排除文件

有时候你想从zip文件中排除某些文件。 例如,如果您从手机或数码相机复制文件,则会混合使用视频和图像。 您可能希望将照片压缩到photos.zip和视频到videos.zip。

这是创建photos.zip时排除视频的一种方法

zip photos.zip -r / home / photos / -x * .mp4

如何指定压缩级别

当您将文件压缩成zip文件时,系统会决定是压缩文件还是存储文件。 例如, Mp3文件已经被压缩了,所以没有必要进一步压缩它们; 它们通常保存在一个zip文件中。

但是,您可以指定介于0和9之间的压缩级别来进一步压缩文件。 这需要更长的时间,但它可以节省大量的空间。

zip myfiles.zip -r / home -5