Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何创建不会扩展到子文件夹的tar存档?_Unix_Tar_Directory Structure_Archive Tar - Fatal编程技术网

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

Unix 如何创建不会扩展到子文件夹的tar存档?,unix,tar,directory-structure,archive-tar,Unix,Tar,Directory Structure,Archive Tar,我不想创建一个没有内部目录结构的“扁平”tarball。但是我希望顶级文件是“松散的”,而不是镜像它们最初所在的目录结构 考虑: + archives | + data | + site | + file1.html | + subdirectory | + etc... 如果我将cd放入存档并在那里创建tar,例如:tar-czf archive.tgz

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

考虑:

+ archives
|
+ data
    |
    + site
        |
        + file1.html
        |
        + subdirectory
               |
               + etc...
如果我将
cd
放入
存档
并在那里创建tar,例如:
tar-czf archive.tgz../data/site/*
当我稍后提取tarball时,它将重新创建
data/site/../code>,然后我必须
mv data/site/*../some/other/dir


我希望能够只
tar-xzf archive.tgz-C../some/other/dir
,并让eg file1.html就在
。/some/other/dir

,而不是
cd
进入
归档文件
并在那里运行
tar
,并带有tar文件内容的路径,您应该
cd
到内容所在的位置,并指定要创建的文件的路径:

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

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