回答:
私が見つけることができる最も近いものは--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: Removing leading / from member names
ます。使用すると's|^|abc/|'
うまくいきました。