如何创建不会扩展到子文件夹的tar存档?

时间:2011-10-14 14:39:24

标签: unix tar directory-structure archive-tar

我不想创建没有内部目录结构的“平面”tarball。但我希望顶级文件“松散”,而不是镜像它们最初的目录结构。

考虑:

+ archives
|
+ data
    |
    + site
        |
        + file1.html
        |
        + subdirectory
               |
               + etc...

如果我cd进入archives并在那里创建我的tar,例如:tar -czf archive.tgz ../data/site/*当我稍后提取tarball时它会重新创建data/site/...然后我将不得不mv data/site/* ../some/other/dir

我希望能够tar -xzf archive.tgz -C ../some/other/dir只有../some/other/dir,例如file1.html就在那里。

2 个答案:

答案 0 :(得分:4)

代替cdarchives并在那里运行tar并指向tarfile内容的路径,您应该cd到内容所在的位置并指定路径你正在创建的tarfile:

cd data/site
tar -czf ../../archives/archive.tgz *

答案 1 :(得分:1)

您也可以使用选项tar -czf archive.tgz --directory=data/site/ .而无需转到文件夹