如何在没有中间文件夹的情况下将文件添加到 zip 存档

ibi*_*tux 5 linux bash zip command-line

zip在 bash 脚本中使用程序,我想创建一个包含文件夹中所有文件的存档,而不将文件夹本身添加到存档中。

我有这样的文件:

script.sh
files/
files/1
files/2
Run Code Online (Sandbox Code Playgroud)

我在 script.sh 中使用这个命令

zip -q -9 -r arch.zip files/*
Run Code Online (Sandbox Code Playgroud)

但这会files在存档中创建一个文件夹,我想直接在存档的根目录下获取1文件。2

我如何修改传递给命令的参数zip以防止它添加files到此存档中?

谢谢

固定的 :

这里这里

显然,当问题发布时,SO搜索引擎比以前更高效......

Ans*_*ers 5

cd files
zip -q -9 -r ../arch.zip *
Run Code Online (Sandbox Code Playgroud)


小智 5

你应该使用 -j 键。试试这个方法:

zip -q -9 -j arch.zip 文件/*

  • `-j` 将所有文件复制到 zip 根目录。如果你想要子文件夹,这不起作用。 (4认同)