Skip to main content

如何使用Linux命令行压缩文件

33 某游戏站XSS注入日下服务器 (六月 2026)

33 某游戏站XSS注入日下服务器 (六月 2026)
Anonim

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

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

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

如果将所有10个文件压缩为单个压缩存档,并且压缩将文件大小减小到每个文件50MB,那么您只需要传输一半的数据。

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

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

AC / DC高速公路到地狱
Night Prowler.mp3
爱饿了man.mp3
Get It Hot.mp3
走遍你.mp3
高速公路到地狱.mp3
如果你想要血,你就得到了它.mp3
在flames.mp3中显示
触摸太多.mp3
在bush.mp3周围跳动
女孩得到了Rhythm.mp3

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

zip ACDC_Highway_to_Hell *

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

如何在存档中包含隐藏文件

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

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

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

拉链回家*。*

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

(您必须位于主文件夹中才能使用此功能)。此命令的问题是它只包含主文件夹中的文件而不包括文件夹,这将我们带到下一个示例。

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

要包括存档中的所有文件和子文件夹,请运行以下命令:

zip -r home。

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

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

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

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

zip -r音乐/ home / yourname / music /

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

如果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文件中有四个或五个文件,您不需要这些文件。无需再次压缩所有这些文件,您只需运行zip命令即可 -d 切换如下:

zip zipfilename -d 存档中的文件名

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

zip zipfilename -d home / documents / test.txt

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

如果您有一个zip文件中的文件,并且您想要将它们复制到另一个zip文件而不先解压缩并重新解压缩,请使用 -u 开关。

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

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

上面的命令将文件“Back_In_Black.mp3”从variousmusic.zip复制到ACDC.zip。如果您要复制的zip文件不存在,则会创建该文件。

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

下一个开关非常有用,因为它允许您使用其他命令的输出将文件插入到zip文件中。假设您要创建一个名为lovesongs.zip的文件,其中包含标题中包含单词love的每首歌曲。

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

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

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

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

如何创建拆分存档

如果要备份计算机,但可用于备份的唯一媒体是一组空白DVD,则可以选择。您可以保留压缩文件,直到zip文件为4.8千兆字节并刻录DVD,或者您可以创建一个称为拆分存档的东西,它会在达到您指定的限制后继续在集合中创建新存档。

例如:

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

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

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

可用的开关如下:

  • -db =显示已压缩的字节数以及剩余的字节数
  • -dc =显示压缩文件的数量以及剩余的文件数量
  • -dd =显示已压缩的每10MB文件的点数
  • -ds =设置点出现的频率
  • -du =显示每个文件的未压缩大小

例如:

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

如何显示将被压缩的内容

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

例如:

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

如何测试档案

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

你可以使用 -T 切换到测试zip文件是否有效。

例如:

zip myfilename.zip -T

存档无效时此命令的输出可能如下所示:

  • zip警告:缺少结束签名 - 可能不是zip文件

请记住,您可以尝试-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