回答:
tar -xvf bash.html_node.tar.gz --one-top-level
tarコマンドのmanページから
--one-top-level[=DIR]
すべてのファイルをDIRに抽出します。引数なしで使用する場合は、アーカイブのベース名(で認識可能な標準圧縮サフィックスを除く
--auto-compress
)で指定されたサブディレクトリに抽出します。
-----テスト
tar zxvf ../aaa.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree aaa
aaa/
├── 111
└── 222
// tgz名がアーカイブのroot_dirと同じ場合、他の効果はありません
mv ../aaa.tgz ../bbb.tgz
tar zxvf ../bbb.tgz --one-top-level
aaa/
aaa/222
aaa/111
tree bbb
bbb
└── aaa
├── 111
└── 222
// tgz名がアーカイブのroot_dirと異なる場合、トップレベルのディレクトリを作成します
これは私にとってより理にかなっています: mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
フォルダーを作成しますが、-p
切り替えについてはよくわかりません。&&
2番目のコマンドを実行できます。典型的なtarスイッチを使用しましたが、最後に-C
ディレクトリを変更し、必要な場所に抽出するために使用されます。
/create
存在しないディレクトリも作成します。つまり、存在しない場合は作成します 。