フォルダを'gzip'するコマンド
私はMacのコマンドプロンプトのものは初めてです。Mac OS Xでフォルダのgzipを作成する方法を教えてください。私は何人かの人から、フォルダのgzipを作成したい場合は、まずそれを'tar'してから'gzip'するべきだと言われました。これは正しいのでしょうか?
私はMacのコマンドプロンプトのものは初めてです。Mac OS Xでフォルダのgzipを作成する方法を教えてください。私は何人かの人から、フォルダのgzipを作成したい場合は、まずそれを'tar'してから'gzip'するべきだと言われました。これは正しいのでしょうか?
Tar はアーカイブツール、gzip は圧縮ツールです。フルディレクトリを圧縮するためには、まずそれを一つのファイルにアーカイブする必要があります。それがtarの仕事です。この両方の作業を、適切なオプションを指定すれば、1つのtarコマンドで行うことができます。
tar -czf folder\_name.tar.gz folder\_name/
tar アーカイブを作成したくない場合(もしかしたら単一のファイルだけを圧縮したい場合もあるかもしれません)、gzip コマンドを直接使うことができます。
gzip file.txt
gzipコマンドを実行すると、file.txt.gzという名前の圧縮ファイルが作成されます。
もし誰かが “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.gz
を filename.ext
に置き換えます。同じことをするgunzip
というショートカットもあります。
gzip -d filename.ext.gz
gunzip filename.ext.gz
解凍したファイルを標準出力にパイプして別のファイルに保存することもできます。
gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile
gzip の内容を標準出力に素早く読み出すもう一つの方法は 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
これはファイルの内容を本当に素早くチェックする必要がある場合に非常に便利です。
cat filename.ext.gz | zcat > anotherfile
uncompress
ラッパーは gzip -cd
と同じように動作しますが、カレントディレクトリ内の .Z 拡張子を持つファイルを探して置換するので、復元したいファイル名を指定するだけで済みますが、.Z 拡張子で呼び出してもプログラムは無視するので大丈夫です。
compress filename.ext
uncompress filename.ext
私のガイドが役に立つことを願っています :)
はい、まずディレクトリを tar しなければなりません。tarコマンドは以下の両方を行うことができます:
tar -czf archiv.tar.gz mydir/
アーカイブの解凍:
tar -xzf archiv.tar.gz
はい、これは正しいです。gzip
はファイルを圧縮することしかできません。tar
はディレクトリの内容を一つのファイルにエンコードし、gzip
, bzip2
, lzma
, 0x6&, 0x6&, その他の何かを使ってさらに圧縮することができます。