3

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

考虑:

+ 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让例如 file1.html 就在里面../some/other/dir

4

2 回答 2

4

您应该找到内容所在的位置并指定要创建的 tarfile 的路径,而不是使用 tarfile 内容的路径cd运行并在archives那里运行:tarcd

cd data/site
tar -czf ../../archives/archive.tgz *
于 2011-10-17T17:44:06.887 回答
1

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

于 2013-08-14T14:27:41.827 回答