ターミナル/コマンドライン( buntu 14.04 (Trusty Tahr))を使用してtar.gz内の特定のフォルダーを解凍または解凍するにはどうすればよいですか?
正確:
-file.tar.gz
-- folder1
-- folder2
抽出する方法...
... folder1 --> ~/locationX
... folder2 --> ~/locationY
これどうやってするの?
ご注意ください:これは純粋に端末/コマンドラインに関連しており、 Puppet ではありません。これはほんの一例です-tar.gz
内から特定のフォルダーを解凍するコマンドがある場合、ファイルの移動を回避できるため、Puppetで約50の追加ステップを節約します...
私はこれでうまくいくと思います:
tar -xzf file.tar.gz -C ~/locationX folder1 -C ~/locationY folder2
-C
オプションは、抽出を行う前に、指定されたディレクトリに移動することを意味します。 tarfile名の後にファイル名引数を指定すると、抽出がそれらのファイルまたはディレクトリのみに制限されます。そして、この-C
hangingディレクトリを繰り返すことができます。
これはサブディレクトリで抽出を行うことに注意してください:Folder1
はpathX/Folder1
に入り、Folder2
はfolderY/Folder2
に入ります。これを防ぐには、--strip-components
オプションを使用します。
tar -xzf file.tar.gz -C ~/locationX --strip-components=1 folder1 \
-C ~/locationY --strip-components=1 folder2
また、tarファイル内の実際のプレフィックスが./folder1
および./folder2
である場合、tar -czf file.tar.gz .
を使用してtarファイルを作成した場合と同様に、ファイル名引数に./
プレフィックスを含め、--strip-components=2
に変更する必要があります。