![从命令行,如何将特定文件和目录压缩到一个压缩文件夹中?](https://linux22.com/image/1428218/%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%8C%E5%A6%82%E4%BD%95%E5%B0%86%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E5%8E%8B%E7%BC%A9%E5%88%B0%E4%B8%80%E4%B8%AA%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%EF%BC%9F.png)
我正在如下目录中工作:
folder
>.git
>css
>img
>js
Archive.zip
bla.html
bla.yml
在这个项目工作期间,我必须经常压缩这个文件夹的内容,但 Archive.zip 和 .git 目录除外(新的压缩文件夹需要替换以前的 Archive.zip 文件)。
我通过按住 Shift 键并选择相应文件 > 右键单击 > 压缩来执行此操作。这效率不高。
是否可以使用zip
命令行中的命令来实现此目的?或者我最好编写自定义命令来执行此操作?
答案1
从该目录运行:
rm Archive.zip; zip Archive.zip -r . --exclude '.git/*'
rm 将删除旧的 Archive.zip(您需要这样做,否则 zip 将仅更新 Archive.zip 的当前内容);zip -r .
将递归添加所有目录和文件夹,并将--exclude '.git/*'
排除给定的目录。