我不想创建没有内部目录结构的“平面”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就在那里。
答案 0 :(得分:4)
代替cd
到archives
并在那里运行tar
并指向tarfile内容的路径,您应该cd
到内容所在的位置并指定路径你正在创建的tarfile:
cd data/site
tar -czf ../../archives/archive.tgz *
答案 1 :(得分:1)
您也可以使用选项tar -czf archive.tgz --directory=data/site/ .
而无需转到文件夹