为什么 zip 命令不包含所有文件?

为什么 zip 命令不包含所有文件?

我正在尝试对单个文件夹进行压缩,无需进行任何压缩,这样我就可以轻松地将档案复制到 USB 记忆棒上,而无需数千个文件。

问题是,zip 命令并没有按照我告诉它的方式去做,因为我显然没有告诉它做正确的事情。

我想要的是asian.zip包含完整的文件夹结构和其中的所有文件。通常我会在 Finder 中单击鼠标右键并选择“压缩”,但我想了解如何在不压缩的情况下压缩文件夹。

使用以下目录结构(使用生成https://linux.die.net/man/1/tree), 我试过了:


zip -Z store asian.zip Asian

结果是asian.zip,大小为 162 个字节,且包含一个空文件夹Asian


zip -Z store asian.zip Asian/*.*

结果是asian.zip,大小为 258 字节,包含一个空文件夹Asian/Capsule - 2005 - L.D.K. Lounge Designers Killer。这是它放在那里的唯一文件夹。


cd Asian/Aural\ Vampire\ -\ 2010\ -\ Zoltank
zip -Z store asian.zip *.*

结果是asian.zip,大小为 146.9MB,包含包含asian我所在文件夹中所有 mp3 文件的文件夹。


├── Asian
│   ├── Aural\ Vampire\ -\ 2010\ -\ Zoltank
│   │   ├── 01\ -\ Flare\ Stack.mp3
│   │   ...(each folder listed is full of mp3 like this one)
│   ├── Aural\ Vampire\ -\ 2011\ -\ Kerguelen\ Vortex
│   ├── Capsule\ -\ 2004\ -\ SF\ -\ Sound\ Furniture
│   ├── Capsule\ -\ 2005\ -\ L.D.K.\ Lounge\ Designers\ Killer
│   ├── Capsule\ -\ 2005\ -\ Nexus-2060
│   ├── Capsule\ -\ 2006\ -\ Fruits\ Clipper
│   ├── Capsule\ -\ 2007\ -\ Flash\ Back
│   ├── Capsule\ -\ 2007\ -\ Sugarless\ GiRL
│   ├── Capsule\ -\ 2008\ -\ MORE!\ MORE!\ MORE!
│   ├── Capsule\ -\ 2009\ -\ Flash\ Best
│   ├── Capsule\ -\ 2010\ -\ PLAYER
│   ├── Capsule\ -\ 2012\ -\ Stereo\ Worxxx
│   ├── Capsule\ -\ Misc
│   ├── Faye\ Wong\ -\ Misc
│   ├── Globe\ -\ 1999\ -\ Cruise\ Records\ 1995-2000
│   ├── Globe\ -\ Misc
│   ├── Maximum\ The\ Hormone\ -\ 2004\ -\ Kusoban
│   ├── Maximum\ The\ Hormone\ -\ 2005\ -\ Rokkinpo\ Goroshi
│   ├── Maximum\ The\ Hormone\ -\ 2007\ -\ BuiikiKaesu
│   ├── Maximum\ The\ Hormone\ -\ Misc
│   ├── Maximum\ the\ Hormone\ -\ 2013\ -\ Yoshu�\204\ Fukushu�\204
│   ├── Misc
│   ├── OST\ -\ Chobits\ Original\ Soundtrack\ 001\ -\ 2003
│   ├── OST\ -\ Elfen\ Lied\ -\ 2004
│   ├── OST\ -\ Higurashi\ no\ Naku\ Koro\ ni\ Kai\ Vol\ 1\ -\ 2007
│   ├── OST\ -\ Higurashi\ no\ Naku\ Koro\ ni\ Vol\ 2\ -\ 2006
│   ├── OST\ -\ Noein\ -\ 2006
│   ├── She\ -\ 2006\ -\ Pioneer
│   └── She\ -\ 2008\ -\ Coloris
├── Industrial
├── Misc
├── Rock
├── Rockin

答案1

您缺少--recurse-paths选项(-r简称)。请使用以下选项:

zip -rZ store asian.zip Asian

(我没有使用 Mac,但这应该适用于 Mac 和 Linux。)

相关内容