Answers:
我能找到的最接近的--transform选项。我不确定,但是我猜这是仅GNU的标志:
 --transform, --xform EXPRESSION
       use sed replace EXPRESSION to transform file names
使用它,您可以传递sed替换命令并将更改/为/abc:
tar cf root.tgz --transform 's/^\//\/abc/' //创建归档文件/abc时,它仍然会打印路径,但是在提取归档文件时,它们会变为路径。
如果您tar没有--transform选择的另一种方法是,使/abc符号链接指向/然后将其tar:
$ ln -s / /abc
$ tar chf root.tgz /abc
这-h是必不可少的,因为这是tar要遵循的链接:
 -h, --dereference
       follow symlinks; archive and dump the files they point to
这将具有设置/abc为顶级目录的作用。
这是我的操作方法,可在任何位置(不仅仅是/)进行涂抹:
tar --transform 's|^|/abc/|' -zcvf /path/to/dest.tgz *它只是将a附加/abc/到每个路径的开头。
tar: Removing leading / from member names。使用's|^|abc/|'对我来说效果很好。