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