压缩文件,包括隐藏文件


85

在Linux中,我可以执行以下操作将所有文件(隐藏文件除外)压缩为当前目录:

zip 1.zip *

但是,如何包含隐藏文件?

Answers:


159

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

我在下面的上一个答案中显示的命令是不正确的,因为它们还包含父目录。


您是否尝试过:

zip yourfile.zip sourcedir/* .*

或者你的情况

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

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


1
那几乎可以工作,但现在我也越来越../我不认为我想要。
Fzs2 2012年

../的意思是,您还在压缩上面目录中的文件吗?
Gunnar 2012年

1
显然。当我执行zip 1.zip *。*(位于带有子文件夹a和名为'.hidden_​​file'的隐藏文件的文件夹中)时,我得到:
Fzs2 2012年

添加:a /(存储0%)添加:../(存储0%)添加:.hidden_​​file(存储0%)
Fzs2 2012年

12
或您所说的'zip -r 1.zip。',它也可以工作并且更简单。
Fzs2 2012年


11

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

一种仅获取所需内容的简单方法是使用 git archive -o filename.zip branch


1
谢谢!那正是我所需要的:比手动调用要麻烦得多zip
Egon

这种方法虽然不包括.git/目录
ScottMcC

@ScottMcC如果您需要的东西已经与git相关,您是否会克隆它?
代码

通过scp进行传输非常好
William Rusnack

5

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

zip -r namefiles.zip "folder will zip"

1
您的答案与接受的答案有什么不同,后者指出“正确的方法是zip -r 1.zip .”?
SimonMᶜKenzie'16

@SimonMᶜKenzie他还解释了“什么”。手段。我认为那与众不同。
中伦苑

8
“。” 不是文件夹中的所有文件。它表示“当前文件夹”本身,最终将包括其所有内容。
伊扎尔·阿兹米(Izhar Aazmi)

1

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

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

但是,如果.../some_dir输入

unzip 1.zip

然后您的文件将被解压缩到 .../some_dir/path/to/source/dir/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.