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

时间:2012-12-05 08:55:46

标签: bash shell unix zip

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

zip -r abc.zip abc/*

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

注意:

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

2 个答案:

答案 0 :(得分:19)

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

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

答案 1 :(得分:0)

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

321