如何从压缩文件中排除文件 Linux Mint

How to Exclude Files from a Zip Archive Linux Mint

你可以用Linux Mint和它的终端轻松地从压缩文件中排除特定的文件和/或文件夹

在这篇文章中,我们将展示几个有用的例子,说明如何压缩文件夹并排除特定的文件和文件夹。排除文件可能是由于敏感数据、大尺寸或特定的文件类型,如:zip、png 或 csv。

第1步:如何在Linux Mint中用终端压缩文件

首先,让我们看看在Linux Mint中如何用终端对文件夹或文件进行存档

在下面的例子中,我们将使用一个名为:Mapache,它将被用于我们的例子。所以你可以从上面的链接下载这个文件夹。

因此,为了压缩Mapache文件夹,我们可以使用以下命令

cd ~/Downloads
zip -r  mapache.zip Mapache
复制代码

注意:命令cd ~/Downloads 是可选的,可以导航到Mapache的父文件夹。

保存日期和时间的压缩文件

如果你想保留档案的历史日期,你可以尝试使用下一个命令。

zip -r  mapache_$(date +\%Y-\%m-\%d-\%H-\%M).zip Mapache
复制代码

这将产生一个类似的压缩文件。

mapache_2021-07-21-00-26

不包括父目录的Zip文件夹

要压缩一个不包括父文件夹的文件夹,请使用。

cd Mapache
zip -r  ../mapache_$(date +\%Y-\%m-\%d-\%H-\%M).zip . -x */\.* *.git* *.idea* "**/screenshot.png" ./screenshot.png
复制代码

第2步:如何从压缩文件中排除文件

使用zip命令从存档中排除一个文件,可以使用。

  • -x
  • --exclude

两者是可以互换的。

从根文件夹中排除文件

因此,举例来说,让我们试着排除一个文件:screenshot.png 。如果该文件在顶层,那么可以通过以下方式排除它

zip -r  mapache.zip Mapache -x "screenshot.png"
复制代码

对于排除多个文件,我们可以在-x 后面列出所有文件。

zip -r  mapache.zip Mapache -x "screenshot.png" "donate.gif"
复制代码

注意1:这只在文件位于顶层的情况下有效。

注2:你可以有多个排除选项。zip -r mapache.zip Mapache -x "screenshot.png" -x "donate.gif"

排除子文件夹中的文件

如果文件位于子文件夹中,可以用稍微不同的语法将它们排除

zip -r  mapache.zip Mapache  -x "**/screenshot.png"
复制代码

其中**/ 是用来显示递归搜索的。

通过文件扩展名排除文件

假设你想**排除特定的文件类型,如:.csv**,.zip 等。这可以通过下一个命令完成。

zip -r  mapache.zip Mapache  -x "*.csv"
复制代码

How to Exclude Files from a Zip Archive Linux Mint

第3步:如何从压缩文件中排除文件夹

要从压缩文件中排除文件夹,你可以遵循一点不同的语法。比方说,你想排除文件夹documentation ,那么你可以这样做。

zip -r  mapache.zip Mapache --exclude=*documentation*
复制代码

第4步:流行的文件/文件夹排除法–排除Git、隐藏文件

在这个步骤中,列出了最流行的文件排除方法,比如

排除所有以点开始的文件夹(和文件)(隐藏文件)。

zip -r  mapache.zip Mapache --exclude=*/.*
复制代码

从压缩文件中排除.git目录

zip -r  mapache.zip Mapache -x "*.git*"
复制代码

zip -r  mapache.zip Mapache -x '*.git*'
复制代码

用git从压缩文件中排除.git目录

作为git项目的zip命令的替代品,你可以使用。

git archive -o mapache.zip HEAD
复制代码

这个命令的好处是,它将排除git文件夹和gitignore文件中的任何文件。

从压缩文件中排除zip文件

下一个命令将阻止所有的存档文件被压缩。

zip -r  mapache.zip Mapache -x \*.zip
复制代码

第5步:用脚本来压缩文件并排除特定的文件和文件夹

假设你想建立一个脚本,它要压缩文件夹并排除文件夹和文件

要做到这一点,你可以创建一个新的文本文件,名为mapache.sh ,并将下一个内容放在里面。

#!/bin/bash
cd Mapache
zip -r  ../mapache_$(date +\%Y-\%m-\%d-\%H-\%M).zip . -x */\.* *.git* *.idea* "**/screenshot.png" ./screenshot.png
复制代码

使其可由执行。

chmod +x mapache.sh
复制代码

该文件应位于与文件夹Mapache 的同一级别。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享