.tar.gz アーカイブを特定のディレクトリに抽出します。

.tar.gz アーカイブを特定のディレクトリに抽出します。

tar.gztarを使用して1行コマンドを使用してファイルの内容全体を任意のディレクトリ(存在するかどうかにかかわらず)に抽出するにはどうすればよいですか? (ディレクトリ)がない場合は作成します。これを明確にするために例を考えてみましょう。私はarchive-latest.tar.gzインターネットからディレクトリにダウンロードしました/home/user/Downloads。にmicroSDカードターゲットパーティションをマウントしました。ダウンロード後、1行のコマンドを使用してダウンロードしたコンテンツを直接抽出したいと/mnt/archive思います。ドキュメントを読みましたが、ターゲットディレクトリを指定するオプションが見つかりませんでした。/home/user/Downloads/archive-latest.tar.gz/mnt/archiveman tar

答え1

この-Cオプションを使用すると、tarは次のように変更されます。既存の解凍する前にディレクトリを起動してください。

 tar xv -C /mnt/archive -f /home/user/Downloads/archive-latest.tar.gz

すでにそのディレクトリにあるか、/home/userそれ/home/user/Downloadsに応じてパスを減らすことができます-f

宛先パスが存在しない可能性がある場合は、次のコマンドを使用して生成できますmkdir

 mkdir -p /mnt/archive;  tar xv -C /mnt/archive -f /home/user/Downloads/archive-latest.tar.gz

このオプションを使用すると、ディレクトリがすでに存在していても-p問題は発生しません。mkdir

関連情報