Unix 如何创建不会扩展到子文件夹的tar存档?
我不想创建一个没有内部目录结构的“扁平”tarball。但是我希望顶级文件是“松散的”,而不是镜像它们最初所在的目录结构 考虑: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
+ 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/
,而无需转到文件夹