フォルダーを「gzip」するコマンド?


66

私は、Macのコマンドプロンプトを初めて使います。Mac OS Xでフォルダーのgzipを作成するにはどうすればよいですか?フォルダーのgzipを作成する場合は、まず「tar」してから「gzip」する必要があると、数人の人から言われました。これは正しいです?


1
これはプログラミングの質問ではありませんか?投稿にタグが付けられてobjective-cいますが、コマンドラインについて質問しています。
rakuo15

回答:


130

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

tar -czf folder_name.tar.gz folder_name /

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

gzip file.txt

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


30
-czf後のオプションのtar用途に言及する価値があります:ctarアーカイブを作成することを示し、中間tarアーカイブにz適用さgzipf、後続の最終ファイル名用folder_name.tar.gzです。
フィデリ

13
警告:gzip file.txt元のファイルを置き換えます。
ゾルタン

6
@Zoltán gzip -k file.txt入力ファイルを「保持」(削除しない)するために使用します。
thohl

13

「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.extられfilename.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

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


4

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

tar czvf compress.tar.gzフォルダー

3

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

tar -czf archiv.tar.gz mydir/

アーカイブを抽出します。

tar -xzf archiv.tar.gz

3

@taskinoorによる回答に追加するには:単一ファイルバージョンを使用する場合は、別名

gzip file.txt

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

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


1
gzip --keep file.txtオリジナルを保持して作成しますfile.txt.gz。をご覧くださいgzip --help
ブレイズ

1

はい、これは正しいです。gzipファイルのみを圧縮できます。tarさらに使用して圧縮することができ、単一のファイル、ディレクトリにコンテンツをエンコードしgzipbzip2lzmaまたは何か他のもの。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.