web-dev-qa-db-ja.com

アーカイブと圧縮の混乱?

アーカイブと圧縮について混乱しているので、正しいと思うものを書きます。

理解を深めたいコマンドは次のとおりです。

tar –c file > file.tar
tar –cf file.tar file // this command and the previous one are about the same

以前のコマンドは、アーカイブコマンドを実行する前に持っていた正確なファイルが含まれる一種の共通フォルダー(アーカイブ)を作成するだけだと思います(サイズはまったく縮小されません)、唯一の違いは、3番目のものが生成されることです.tarではなく.gzのアーカイブ。

アーカイブのサイズを縮小(圧縮)するには、以下を使用する必要があります。

tar -cjf file.tar.bz2 file
tar –cJf file.tar.xz file

gzip file.tar // it’ll create a compressed file called file.tar.gz
tar -cz file  > file.tar.gz 

私が見る方法は、拡張子が.gz、.bz2、または.xzの場合は圧縮され、.tarの場合はアーカイブされるということです、それは正しいですか?

4

これはあなたの質問に答えると思います: https://unix.stackexchange.com/questions/127169/does-tar-actually-compress-files-or-just-group-them-together

あなたが思うことを確認するために:tarは圧縮せずにファイルをアーカイブにまとめます。アーカイブを作成するときにtarが一種の圧縮を使用するのは、使用できる圧縮フラグです。

また、ファイル拡張子は手動で入力されるため、次のようにだまされる可能性があります。tar -cz file > file.tar.bz2(代わりに.tar.gzを使用する必要があった場合)

後でこのファイルを抽出したい場合は、gzip圧縮を使用したと考えるので、自分が何をしているのかを知っているか、どこかでドキュメントを作成してください。

5
Dino Hensen

「tar」は文字通りテープアーカイブを意味し、テープ(またはディスク)アーカイブからファイルを保存および抽出します。 tarは、gzip、bzip2、lzip、lzma、lzop、xz、および従来の圧縮などの多数の圧縮プログラムをサポートします

tarコマンドは、次のような関数で始まる必要があります

[-] A --catenate --concatenate | c --create | d --diff --compare |
         --delete | r --append | t --list | --test-label | u --update | x
         --extract --get [options] [pathname ...]

-aオプションを使用すると、作成中のファイルのサフィックス(拡張子)から必要な圧縮を自動検出できます。 tarは圧縮タイプを自動検出し、特定の情報を必要とせずに抽出に応じて動作する必要があります。署名チェックが失敗した場合にのみ、タイプ決定のサフィックスにフォールバックします。 tarの詳細については、コマンドman tarを発行し、tar圧縮の詳細については、以下を参照してください。 https://www.gnu.org/software/tar/manual/html_section /tar_69.html

結果を変更できる多くのオプションがあります。 tarは、追加と削除を許可します。拡張子は、ファイルの種類を示すものではありません。たとえば、Windowsシステムの拡張子が.jpgで、実際には.gifである画像ファイルを見ました。ファイルの種類を確認するには、ターミナルを開いて CtrlAltT 問題のファイルがあるディレクトリに移動し、file filenameコマンドを発行します。gzip圧縮ファイルからの出力例を次に示します。

$ file wireless-info.tar.gz 
wireless-info.tar.gz: gzip compressed data, from Unix, last modified: Thu Apr 23 07:45:20 2015

拡張子を変更しないと、fileの出力が変更され、所有しておらず、メモのないファイルでもファイルタイプを判断する信頼できる方法になります。前のファイルの名前を変更して.gzを削除した後の例を次に示します...

$ file wireless-info.tar
wireless-info.tar: gzip compressed data, from Unix, last modified: Thu Apr 23 07:45:20 2015

fileおよびその機能の詳細については、コマンドman fileを発行してください

ソース:経験& https://www.gnu.org/software/tar/manual/html_section/tar_69.html

2
Elder Geek