tar:无法包含文件夹但排除内容

时间:2017-06-28 12:26:08

标签: tar

我有一个包含多个目录的项目文件夹

- archive 
- include
- lib
- src
- src/obj (obj is a subdirectory of src)

我希望tar将这些目录及其内容打包到main.tar,然后我将main.tar放入archive目录。

tar cvz \
    --exclude="*.obsolete" --exclude="*DS_Store" --exclude="./archive/*" \
    -f main.tar \
    ./archive ./include ./lib ./src

我想排除archive目录的内容,但仍然打包空目录本身。您可以看到我也从不同的地方排除了其他一些东西,OSX喜欢在我的文件系统上的任何地方编写.DS_Store文件,偶尔会复制文件并在处理新版本时将.obsolete附加到最后。< / p>

不幸的是,archive中包含 的空main.tar目录。 根据{{​​3}},我的命令工作。

如何从archive中排除文件,但是将空目录打包到tar文件中?

1 个答案:

答案 0 :(得分:0)

修改

以下失败:

--exclude="./archive/*"

以下作品:

--exclude="./archive/*.*"

所以整个命令是:

tar cvz \
    --exclude="*.obsolete" --exclude="*DS_Store" --exclude="./archive/*.*" \
    -f main.tar \
    ./archive ./include ./lib ./src