パッケージ圧縮、解凍ツールの詳細


本文はパッケージ、圧縮、解凍を学ぶことを目的としています.tar、gzip/gunzip/zcat、bzip 2/bunzip 2/bzcat、xz/unxz/xzcat、zip/unzip、cpioなどのコマンドの使用を学習します.
前言:
まず、2つの概念を明らかにします.パッケージとは、大量のファイルやディレクトリを合計ファイルにすることです.圧縮は、大きなファイルをいくつかの圧縮アルゴリズムによって小さなファイルに変えることです.これはLinuxの多くの圧縮プログラムが1つのファイルに対してしか圧縮できないため、多くのファイルを圧縮したい場合は、まずこの多くのファイルをパケット(tarコマンド)にしてから圧縮プログラムで圧縮しなければなりません(gzip bzip 2コマンド)
tarコマンド詳細
構文:tar[オプション][パラメータ]
一般的なオプション:
-zまたは--gzipまたは--ungzip:gzipコマンドによってバックアップファイルを処理します.
-j:bzip 2命令によりバックアップファイルを処理する;
-cまたは--create:新しいバックアップファイルを作成します.
-v:操作手順を表示します.
-fまたは--file=:バックアップファイルを指定します.
-xまたは--extractまたは--get:バックアップファイルからファイルを復元します.解凍
-tまたは--list:バックアップファイルの内容をリストします.
-C:このオプションは解凍に使用されます.特定のディレクトリで解凍するには、このオプションを使用します.
--exclude=:このスタイルに一致するファイルを除外します.
bzip 2によるバックアップファイルの処理
パッケージ:tar-cf log.tar access.log error.log(パッケージするファイル)
圧縮:tar-jcvf log.tar.bz2 log.tar
梱包後圧縮:tar-jcvf log.tar.bz2  access.log error.log(圧縮するファイル)
クエリーファイルの内容:tar-tf log.tar.bz2  
解凍:tar-jxvf log.tar.bz 2-C/backup/(解凍したいディレクトリ)
 
gzipコマンドによるバックアップファイルの処理
圧縮:tar-zcvf log.tar.gz圧縮するファイルまたはディレクトリ名
問い合わせ:tar-ztvf log.tar.gz
解凍:tar-zxvf log.tar.gz-C解凍したいディレクトリ
 
例:
tar -zcvf etc.tar.gz/etc/*
tar -zcvf etc.tar.gz --exclud=/etc/services/etc/*
tar -zxvf etc.tar.gz -C/tmp/etcbak
gzip/gunzip/zcatコマンド
gzipの一般的なオプション:
-c:圧縮または解凍の結果を標準出力に出力
-d:解凍、gunzipに相当
-rまたは-recursive:再帰処理し、指定したディレクトリの下のすべてのファイルとサブディレクトリを一括処理する.
-#:1-9圧縮比を指定し、値が大きいほど圧縮比が大きくなります
tarパッケージのファイルを圧縮するには:
    gzip -r log.tar圧縮後のファイル名はlog.tar.gz
圧縮1:gzip access.log(圧縮完了後、ソースファイルが消失)
圧縮2:gzip-c access.log >access.log.gz(圧縮後にソースファイルを保持)
解凍1:gzip-d access.gz(解凍後、圧縮パケットが消失)
解凍2:gzip-c-d access.log.gz >access.log(圧縮パッケージを解凍して保持)
解凍3:gunzip access.gz
zcatコマンドは、ファイルを本当に解凍せずに、圧縮パッケージ内のファイルの内容を表示できる場合に使用します.
具体的にはgoogle
    zcat access.log.gz >access.log
bzip 2/bunzip 2/bzcatコマンド
    bzip2 [OPTION]... FILE ...
-k:keep、元のファイルを保持
-d:解凍
-#:1-9、圧縮比、デフォルトは6
 
bzcat:明示的に解凍しないでテキストファイルの内容を表示します.
xz/unxz/xzcatコマンド
xzは新しい圧縮ファイルフォーマットで、圧縮率の王と呼ばれています.LZMA SDK圧縮を採用し、ターゲットファイルはgzip圧縮ファイル(.gzまたは.tgz)より30%小さく、2より15%小さい.
    
    xz [OPTION]... FILE ...
-k:keep、元のファイルを保持します.
-d:解凍
-#:1-9、圧縮比、デフォルトは6
xzcat:明示的に解凍せずにテキストファイルの内容を表示する
zip/unzipコマンド
パッケージ圧縮:zip filename.zip filename
解凍:unzip filename.zip
cpioコマンド
cpioコマンドは主にバックアップ・ファイルを作成または復元するためのツール・プログラムであり、cpioコマンドはファイルをアーカイブ・パッケージにコピーしたり、アーカイブ・パッケージからファイルをコピーしたりすることができます.「.cpio」「.tar」で終わるファイルを解凍できます.
cpio構文:
cpio[option]>ファイル名またはデバイス名
cpio[option]<ファイル名またはデバイス名
常用option:
-oまたは--create:copy-outモードを実行し、バックアップファイルを確立します.
-iまたは--extract:copy-inモードを実行し、バックアップファイルを復元します.
-tまたは--list:入力した内容を表示します.
-uまたは:すべてのファイルを置き換え、日付時間の新旧にかかわらず、質問せずに直接上書きします.
-vまたは--verbose:命令の実行手順を詳細に表示します.
-dまたは--make-directories:cpioが必要な場合は自分でディレクトリを作成します.
-c:より新しいストレージ方式
B:入出力のブロックサイズを5210 Byesに変更する.
例:
    [root@study tmp]# ls  access.log error.log |cpio -ocvB >log.cpio
    access.log
    error.log
    2 blocks

/etcの下のすべての一般ファイルを/opt/etc.cpioにバックアップ
    find /etc –type f | cpio –ocvB >/opt/etc.cpio
    find /etc –type f | cpio –ov >/opt/etc.cpio

コンテンツのプレビュー:
cpio -tv < etc.cpio
解凍:
    cpio -iv < etc.cpio
    cpio -ivd < etc.cpio
rpmcpioコマンド:
rpm 2 cpioコマンドrpmパッケージをcpio形式に変換するファイル
rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -idv