次のコマンドのgzipで同等である何:
解凍gzipファイル
tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
私は
gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
をしようとしていますが、それは動作しません、私はgzipでどのようにすることを行うのですか?
次のコマンドのgzipで同等である何:
解凍gzipファイル
tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
私は
gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
をしようとしていますが、それは動作しません、私はgzipでどのようにすることを行うのですか?
-Cオプションを指定して、うまく動作します、あなたが.tar.gz形式のファイルを持っているという事実は、あなたがしようとした最初の方法、考える:呼び出しが解凍するgzipで圧縮
tar xvzf /dir/to/file.tar.gz -C /dir/to/output/
tar
をし、 tarストリームからファイルを抽出します。 gzip
は解凍しかできませんので、gunzip file.tar.gz
は解凍されたfile.tar
をそのまま残してください。tar xvf file.tar
が必要です。 z
オプションがtar
の場合は、gzipを使って解凍してファイルを解凍するだけの簡単な方法です。
.gzファイル(.tar.gzファイルを解凍するのではなく)を別のディレクトリに解凍する場合は、単にそこにパイプを張ってください。例えば。 gzip -dc <file.gz> /somewhere/file
。いくつかの状況では、パケットを管理するための便利で直感的な形だ
cat file_to_uncompress.tar.gz | gzip -d > /destination_directory/packet_uncompressed.tar
:
は、GZIP圧縮せずに.tarファイルを保存するためには、私は良い結果と次のような行を使用します。
cd /mydir_with_gz_files
for i in *gz
do
gzip -dkc < $i > /my_destination_dir/${i%%.gz}
done
この構文は、別のディレクトリに/mydir_with_gz_files
に含まれる複数*.gz
のファイルを抽出するためです。
1)ここでは-k
オプションを使用します。そうしないと、gzipはアーカイブ自体を保持しないためです。覚えておくとよい!
2)正解を与える人には明白なように強調したいが、私と質問の著者はそうではなかった:gzipはファイルを別のディレクトリに抽出しないが、結果として得られる非圧縮ファイルNAMEも指定する必要があります。
これは、その「.gz
」接尾辞の「file.gz
」のような名前を取り除き$i > ${i%%.gz}
bashのparameter substitutionによってここに達成されます。他のシェルでは、シンタックスは(可能な限り)異なっています。
質問を別のsxプラットフォームに移動する場合は、この手順があると思います – mit