私はディレクトリを持っています/var/tmp/my-dir/
次のコマンドで頻繁に圧縮します。
$ cd /var/tmp/
$ tar -zcf my-dir.tar.gz my-dir/*
後でuntarmy-dir.tar.gzすると、現在のディレクトリにmy-dir/
が作成されます。 my-dir
ディレクトリはtarball内に「ラップ」されているようです。 my-dir
の名前を変更するtarオプションはありますか。 your-dir
before実際の風袋引きが行われます。そのため ...
$ tar -zxf my-dir.tar.gz
# So that ... this creates your-dir/, instead of my-dir/
ありがとう。
どのtar
?
GNU Tar は、ファイル名を操作するためにsed
式を与える--transform
引数を受け入れます。
たとえば、解凍中に名前を変更するには:
tar -zxf my-dir.tar.gz --transform s/my-dir/your-dir/
BSD tarおよびS tarも同様に、単純な-s
(一般的なsed
式ではない)を取る/old/new/
引数を持っています。
Mac作品の場合-s
国旗。
圧縮時に名前を変更:
tar -zcf my-dir.tar.gz -s /^my-dir/your-dir/ my-dir/*
抽出時に名前を変更:
tar -zxf my-dir.tar.gz -s /^my-dir/your-dir/