質問: tar.gzを別のディレクトリに解凍する方法 アーカイブがあります * .tar.gz 宛先ディレクトリでこれを解凍するにはどうすればよいですか?
回答: gnuバージョンのtarを使用している場合は、オプション-c(または長いオプションを使用する場合は--directory)を使用して、選択したターゲットディレクトリを指定できます。ディレクトリが存在するはずです。mkdir foo tar -xzf bar.tar.gz -c foo 特定のディレクトリに展開できるtarを使用していない場合は、cdを呼び出す前に、単にターゲットディレクトリにtarを入力することができます。それならもちろんあなたはあなたのアーカイブへの完全なパスを与えなければならないでしょう。周囲のスクリプトに影響を与えないために、これをスコープサブシェルで行うことができます。mkdir foo (cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well あるいは、アーカイブファイルへの絶対パスも相対パスも適していない場合は、スコープサブシェルの外側でアーカイブに名前を付けるためにこれを使用することもできます。target_path=a/very/complex/path/which/might/even/be/absolute mkdir -p "$target_path" (cd "$target_path"; tar -xzf -) < bar.tar.gz