tar コマンド ファイルのパッケージ化と圧縮

1. コンセプト

パッケージ化とは、複数のファイルまたはディレクトリを 1 つのファイルにパッケージ化することを指し、圧縮とは、アルゴリズムを通じて大きなファイルを小さなファイルに圧縮することを指します。Linux の多くの圧縮プログラムは 1 つのファイルしか実行できないため、通常は、最初にすべてのファイルを 1 つのファイルにパッケージ化してから、そのパッケージ化されたファイルを圧縮する必要があります。

2. tar コマンドの概要

tar コマンドを使用すると、パッケージ化と解凍、圧縮と解凍などの操作を行うことができ、tar コマンドを使用して作成されたパッケージを tar パッケージと呼びます。たとえば、tar コマンドを使用して、複数のファイルまたはディレクトリを tar パッケージにパッケージ化したり、その tar パッケージを解凍したりできます。

2.1 パッケージング操作: tar <オプション> <ソースファイルまたはディレクトリ>

コマンドパラメータ:

  • -c 複数のファイルまたはディレクトリをパックします
  • -f <パッケージ名> 指定したファイルにパッケージ化します。-f の後には完全なファイル名 (拡張子を含む) が続く必要があります。
  • -v パッケージ化プロセスを出力します。
  • -u tar パッケージに新しいファイルを追加します (ファイルを圧縮パッケージに直接追加することはできません)
2.1.1 コマンド例:

1. tar -cvf package.tar test1 test2
test1 と test2 を package.tar ファイルにパックし、パッケージ化プロセスを表示します。
2. tar -cf package.tar test1 Desktop/
ファイル test1 とディレクトリ Desktop を package.tar ファイルにパックします。
3. tar -uf package.tar test3 は、
test3 を package.tar ファイルに追加します。

2.2 解凍操作: tar <オプション> <圧縮パッケージ>

  • -x 解凍操作
  • -f <パッケージ名> 指定したファイルに解凍します。f の後には完全なファイル名が続く必要があります
  • -C<ディレクトリ> は、解凍場所としてディレクトリを指定します。
  • -t パッケージ内のファイルを表示します
2.2.1 コマンド例:

1. tar -xf package.tar は、
package.tar ファイルを現在のディレクトリに解凍します。
2. tar -xf test.tar -C ...
test.tar を上位レベルのディレクトリに解凍します
。 3. tar -tf package.tar
を表示します。パッケージ .tar パッケージ内のファイル

3. 同時に (解凍) パッケージ化と (解凍) 圧縮を行う (最も一般的に使用される)

Linux での圧縮では、まずファイルをパックしてから圧縮する必要がありますが、解凍では、最初に圧縮ファイルをパッケージに解凍してから、パッケージを解凍します。つまり、圧縮 (解凍) には 2 つのステップが必要ですが、tar コマンドは 1 行のコマンドで 2 つのステップを同時に実行できます。Linux で最も一般的な圧縮手法は gzip と bzip2 の 2 つであるため、通常はこれら 2 つの圧縮形式を圧縮 (解凍) する方法を知っていれば十分です。

コマンド形式: tar <オプション> <圧縮パッケージ> <ソースファイルまたはディレクトリ>パックまたはアンパックのオプションに z または j を追加するだけです。z オプションは gzip 圧縮プログラムを使用し、j オプションは bzip2 圧縮プログラムを使用します。

  • -z 「.tar.gz」形式に圧縮するか、.gz 圧縮パッケージを解凍します。
  • -j 「.tar.bz2」形式に圧縮するか、.bz2 アーカイブを解凍します。

コマンド例:
1. tar -czf test.tar.gz test1 test2
test1 と 2 を tar パッケージにパックし、gzip 圧縮プログラムを使用して tar パッケージを圧縮し、test.tar.gz という名前の圧縮パッケージを生成します。また、test1 と 2 が test.tar.gz ファイルにパッケージ化され、圧縮されているとも直接言えます。
2、tar -xzf test.tar.gz -C Desktop/
gzip プログラムを使用して、test.tar.gz ファイルを解凍します。 tar パッケージを作成し、tarball をデスクトップ ディレクトリに解凍します。また、test.tar.gz をデスクトップ ディレクトリ 3 に解凍することも直接言えます。
tar -jcvf test.tar.bz2 test1 test2
パックし、test1 と 2 を bzip2 圧縮プログラムを通じて test.tar.bz2 ファイルに圧縮します。プロセスをプリントアウトする

4. 補足概念:

1. Linux ではファイル名は影響しませんが、プログラマは通常、適切な拡張子を付けてファイルの種類を指定します。たとえば、.sh はスクリプトまたはバッチ ファイルを意味し、.tar、.tar.gz、.zip などはさまざまな圧縮ソフトウェアで圧縮されたファイルを意味します。

2. 拡張子は効果がないのに、tar コマンドの -f の後のファイルにファイル拡張子を追加する必要があるのはなぜですか? Linux は多くの圧縮コマンドをサポートしており、異なるコマンドで使用される圧縮技術は同じではないため、ファイルを相互に圧縮または解凍できない場合があります。したがって、圧縮ファイルをパッケージ化するときに拡張子を追加すると、そのファイルにどの圧縮コマンドが使用され、それに対して解凍できるかをプログラマに知らせることができます。たとえば、.tar.gz ファイルを解凍するには -z コマンド (gzip プログラム) が必要で、.tar.bz2 ファイルには -j コマンド (bzip2 プログラム) が必要です。

おすすめ

転載: blog.csdn.net/weixin_42039228/article/details/131117674