96

在 Linux 中,我可以通过以下方式压缩当前目录中的所有(隐藏文件除外):

zip 1.zip *

但是如何包含隐藏文件?

4

8 回答 8

181

编辑:正确的方法是zip -r 1.zip .

下面我之前的答案中显示的命令不正确,因为它们还包括父目录。


你有没有试过这个:

zip yourfile.zip sourcedir/* .*

或者你在你的情况下

zip 1.zip * .[^.]*'

它还应该包括所有隐藏文件。

于 2012-09-19T10:50:11.010 回答
23

或者你可以添加更简单的

zip 1.zip ./
于 2016-03-24T06:56:16.427 回答
14

只是为了确保它不会被遗忘,因为这是一个开发人员论坛,我们很多人都使用 git。

在 zip 中只获取您想要的内容的一种简单方法是使用git archive -o filename.zip branch

于 2015-08-05T07:03:13.437 回答
6

如果要压缩所有文件(+隐藏文件),请使用: zip -r namefiles.zip 。这 ”。” 是文件夹中的所有文件。

zip -r namefiles.zip "folder will zip"
于 2016-01-14T02:24:48.697 回答
4

在 macOS 10.15.7 上,我必须分别添加所有点前导文件 ( \.*) 和其余文件 ( *):

zip -r file.zip \.* *
于 2021-04-05T10:43:22.193 回答
2

如果您无权将 zip 文件保存在当前目录中,您可以转到您有权限的目录并键入

zip -r 1.zip /path/to/source/dir/.

但是,当.../some_dir您输入时

unzip 1.zip

然后你的文件将被解压成 .../some_dir/path/to/source/dir/

于 2019-03-03T19:13:15.977 回答
0

如果您想使用隐藏和常规文件递归地保存当前目录的某些子目录,只需键入

zip -r backup-subdirectory.zip backup-subdirectory/. backup-subdirectory/*
于 2022-02-03T20:32:22.303 回答
0
zip -r 1.zip .* -x "../*"

只是这样做zip -r 1.zip .*也会包括父文件夹,所以诀窍是使用排除父文件夹-x "../*"

于 2022-03-04T18:38:02.973 回答