如何在没有顶级文件夹的情况下压缩文件但保留子文件夹

zdd*_*zdd 16 unix bash shell zip

假设我有一个名为abc的文件夹,它有递归的几个子文件夹,我想在abc下压缩所有内容,当我使用以下命令时

zip -r abc.zip abc/*
Run Code Online (Sandbox Code Playgroud)

我得到abc.zip,但它包含顶级文件夹abc,一切都在abc下,比如abc/xxx,abc/yyy等,如何删除顶级文件夹abc?我想把所有内容直接放在abc.zip中.

注意:

  1. 我只能从文件夹外部压缩,因此导航到文件夹abc,而zip*对我来说不起作用
  2. 我需要在一行中运行此命令,我可以将多个命令分开;
  3. 选项-j也不起作用,因为它删除子文件夹,我想保留它们.

Gil*_*ert 19

cd abc
zip -r ../abc.zip *

虽然我会说在大多数情况下保持abc会使管理变得更容易.


rei*_*sio 6

7z a -tzip abc.zip -w abc/.

321