web-dev-qa-db-ja.com

フォルダをgzipするためのコマンド?

私はMac command Promptのものに不慣れです。 Mac OS Xでフォルダのgzipをどのように作成しますか?フォルダのgzipを作成したいのなら、まずそれを 'tar'してからそれを 'gzip'するべきだと私は数人の人々から言われました。これは正しいです?

64
thndrkiss

Tarはアーカイブツール、gzipは圧縮ツールです。フルディレクトリを圧縮するには、まずそれを単一のファイルにアーカイブする必要があります。仕事はタールです。その後、アーカイブファイルを圧縮します。適切なオプションを指定して、両方のタスクを単一のtarコマンドで実行できます。

tar -czfフォルダ名.tar.gzフォルダ名/

Tarアーカイブを作成したくない場合(1つのファイルだけを圧縮したい場合もあります)は、gzipコマンドを直接使用できます。

gzip file.txt

File.txt.gzという名前の圧縮ファイルが作成されます。

124
taskinoor

「gzip in Mac」を検索するときにまだ誰かがこの質問を見つけている場合、私はそれが他の誰かに役立つかもしれないというガイドを書きました。ここでそれは行きます:

圧縮

最も基本的なコマンドは、ファイルfilename.extを圧縮してから、同じディレクトリ内のfilename.ext.gzに置き換えます。

gzip filename.ext

元のファイルを失いたくない場合は、gzip -cの出力をファイルにパイプ処理する必要があります。

gzip -c filename.ext > anotherfile.gz

標準入力から圧縮することもできるので、他のコマンドの出力を圧縮することができます。

cat filename.ext | gzip > anotherfile.gz

OS Xにはcompressおよびuncompressコマンドも付属しています。圧縮処理後にファイルが大きくなってもファイルは圧縮されないため、これらは "よりスマートな" gzipを作成します。次のコマンドは、同じディレクトリ内のfilename.extfilename.ext.Zに置き換えます。

compress filename.ext

解凍

ファイルを圧縮されていない自然な状態に復元するには、gzipなどのラッパーを使用できます。 gzipの解凍モードは-dフラグで呼び出されます。このモードは、同じディレクトリ内のファイルfilename.ext.gzfilename.extに置き換えます。同じことをするgunzipというショートカットもあります。

gzip -d filename.ext.gz
gunzip filename.ext.gz

解凍したファイルを標準出力にパイプして別のファイルに保存することもできます。

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

Gzipの内容を標準出力に読み込むもう1つの簡単な方法はzcatです。基本的にはgzip -cdを呼び出すのと同じですが、複数のファイルを呼び出してcatコマンドでテキストファイルを連結するのと同じ方法で連結できます。唯一の欠点はそれが動作するためにあなたのファイルに.Z接尾辞を付ける必要があるということです...

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

しかし、恐れないでください。 zcatは標準出力から解凍できるのでまだ便利です。したがって、基本的にファイルをzcatにパイプ処理して端末ウィンドウで解凍することができます。

cat filename.ext.gz | zcat

ファイルの内容をすばやくチェックする必要がある場合や、zcatの出力をファイルに保存する場合でも、非常に簡単です。

cat filename.ext.gz | zcat > anotherfile

uncompressラッパーはgzip -cdのように動作しますが、現在のディレクトリでそれらを置き換えるために.Z拡張子を持つファイルを探すので、復元したいファイル名を指定するだけでいいですが、.Z拡張子を付けて呼び出しても大丈夫です。プログラムがそれを無視するので。

compress filename.ext
uncompress filename.ext

私のガイドがお役に立つことを願っています:)

12
Pablo Albornoz

MacOS XはUnixなのでこれは動作するはずです(これはGNU/Linuxで動作します)。

 tar czvf compressed.tar.gzフォルダ
4
jcubic

@taskinoorで答えを追加するには:あなたが単一ファイルのバージョンを使用する場合は、別名

gzip file.txt

元のファイル(file.txt)が削除され、file.txt.gzしかないことに注意してください。

私はこれをコメントとするでしょうが、それをするのに十分なカルマを持ってはいけません:=)

3
Miro A.

はい、ディレクトリを最初にtarします。 tarコマンドは両方を実行できます。

tar -czf archiv.tar.gz mydir/

あなたのアーカイブを解凍します。

tar -xzf archiv.tar.gz
3
Till Freier

はい、これは正しいです。 gzipはファイルの圧縮のみ可能です。 tarは、ディレクトリの内容を1つのファイルにエンコードします。このファイルは、gzipbzip2lzmaなどの方法でさらに圧縮できます。

1
Roman Cheplyaka