Linux tar コマンドと zip 解凍

I. 概要:

Tar (Tape ARchive、テープ アーカイブの略語) は、
もともとファイルをテープにパッケージ化するために設計されましたが、現在では主にパーティションや重要なディレクトリのバックアップに使用されています) は、Unix 系システムで最も広く使用されているコマンドです ; アーカイブに使用され
ます複数のファイルまたはディレクトリを 1 つのアーカイブ ファイルにまとめ、そのアーカイブ ファイルを gzip や bzip2 などの技術を使用してさらに圧縮できます。つまり、tar コマンドはバックアップにも使用できます。まず、複数のファイルとディレクトリを 1 つの tar ファイルまたはアーカイブにアーカイブし、次に必要に応じて tar ファイル内のファイルとディレクトリを抽出します。

2. 文法形式

#tar <オプション> <ファイルまたはディレクトリ>

3. よく使用されるオプション

--delete: tar パッケージからファイルを削除します
。 -r、--append: ファイルを tar アーカイブに追加します
。 -t、-list: tar アーカイブに含まれるファイルまたはディレクトリをリストします
。 -u、--update : 追加します。更新されたファイルを tar アーカイブに追加します
-x, --extract, --get : tar アーカイブ内のファイルとディレクトリを解放します
-C, --directory=DIR : アーカイブ操作を実行する前に、作業ディレクトリをターゲット DIR に変更します
- f, --file=ARCHIVE : (作成または既存の) アーカイブ ファイル名を指定します
-j, --bip2 : アーカイブ ファイルに bzip2 圧縮を使用します
-J, --xz : アーカイブ ファイルに xz 圧縮を使用します
-p, -- prepare-permissions : 元のファイルのアクセス権限を保持します
。 -v、--verbose : コマンドの実行プロセス全体を表示します
。 -z、gzip : アーカイブ ファイルに gzip 圧縮を使用します。

4、一般的な使用法

例 1: tar アーカイブを作成する

/etc/ ディレクトリと /root/anaconda-ks.cfg ファイルをパックする tar ファイルを作成します。

#tar -cvf mytest.tar /etc/ /root/anaconda-ks.cfg

注: 上記のコマンドは、/etc/ ディレクトリと /root/anaconda-ks.cfg ファイルを含む現在のディレクトリに「myarchive」という名前の tar ファイルを作成します。このうち、-c オプションは tar ファイルの作成を意味し、-v オプションは tar の詳細な処理を画面に出力するために使用され、-f オプションはアーカイブファイル名を指定します。

例 2: アーカイブの内容を一覧表示する

 #tar -tvf mytest.tar

tar コマンドで -t オプションを使用すると、ファイルを解凍せずにファイルの内容をすばやく一覧表示できます。

例 3: ファイルをアーカイブ (tar) ファイルに追加する

# tar -rvf mytest.tar original-ks.cfg

注: tar コマンドで -r オプションを使用すると、既存の tar アーカイブに価格を追加できますが、圧縮された tar ファイルにファイルを追加することはできません。

例 4: tar アーカイブを現在のディレクトリにリリースする

# tar -xvf mytest.tar

例 5: tar ファイルを指定したディレクトリにリリースします。

# tar -xvf mytest.tar -C testdir02/

例 6: アーカイブ (.tar.gz または .tgz) を作成して圧縮する

/etc フォルダーと /opt フォルダーをパックし、gzip ツールで圧縮する必要があるとします。これは、tar コマンドの -z オプションを使用して実行できます。このような tar ファイルには、拡張子 .tar.gz または .tgz を付けることができます。

# tar -zcpvf myarchive.tar.gz /etc/ /opt/——注-zcpvf顺序不能变
# tar -zcpvf myarchive.tgz /etc/ /opt/

例 7: アーカイブ (.tar.bz2 または .tbz2) を作成して圧縮する

/etc フォルダーと /opt フォルダーをパックし、bzip2 で圧縮する必要があるとします。これは、tar コマンドの -j オプションを使用して実行できます。このような tar ファイルには、拡張子 .tar.bz2 または .tbz を付けることができます。

# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/
# tar -jcpvf myarchive.tbz2 /etc/ /opt/ 

例 9: 指定したファイルまたはタイプを除外した後で tar ファイルを作成する

tar ファイルを作成するときは、tar コマンドで –exclude オプションを使用して、指定したファイルまたはタイプを除外します。圧縮 tar ファイルを作成するときに .conf ファイルを除外するとします。

# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.conf

例 10: .tar.gz/.tgz または .tar.bz2/.tbz2 ファイルの解凍

# tar -zxpvf myarchive.tgz -C /tmp/
# tar -jxpvf myarchive.tbz2 -C /tmp/

一般的なコマンド:

# tar xpvf myarchive.tbz2 -C /tmp/ 或 # tar -xpvf myarchive.tgz -C /tmp/

例 11: tar コマンドを使用したスケジュールされたバックアップとアーカイブ

毎日のバックアップの目的を達成するために、指定されたファイルとディレクトリをパッケージ化する必要があるリアルタイム シナリオが常に存在します。/opt ディレクトリ全体を毎日バックアップする必要があるとすると、tar コマンドを使用して cron タスクを作成し、それを完了できます。次のように:

# tar -zcpvf optbackup-$(date +%Y-%m-%d).tgz /opt/

上記のコマンドの cron ジョブを作成するだけです。

例 12: -T と -X を使用して圧縮アーカイブを作成する

このようなシナリオを想像してください: アーカイブしてファイルに圧縮するファイルとディレクトリを記録し、このファイルを tar コマンドの受信パラメータとして使用してアーカイブ タスクを完了します。また、場合によっては、言及されたファイルを除外する必要がある場合があります。上記に記録された特定のパスの後にアーカイブして圧縮します。
tar コマンドで -T を使用して入力ファイルを指定し、-X で除外するファイルのリストを指定します (/etc、/opt、/home ディレクトリ、および /etc/sysconfig/kdump および /etc がアーカイブされることを前提としています)。 /sysconfig/foreman は除外ファイルであるため、/root/tar-include および /root/tar-exclude を作成し、それぞれ次の内容を入力できます: [
root@linuxtechi ~]# cat /root/tar-include /etc /opt / home [root@linuxtechi ~]# cat /root/tar-exclude /etc/sysconfig/kdump /etc/sysconfig/foreman [root@linuxtechi ~]#次のコマンドを実行して圧縮アーカイブを作成します

[root@linuxtechi ~]# tar -zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude 

例 13: .tar、.tgz、.tbz2 ファイルのサイズの表示

# tar -czf - myarchive.tbz2 | wc -c 

例 14: tar パッケージの分割とマージ

非常に大きな tar アーカイブを転送する必要があるシナリオを想像してください。通常、大きなファイルの転送は時間がかかります。この時点で、split コマンドを使用して、比較的大きな tar ファイルをいくつかの小さなファイルに分割し、これらの分割ファイルをネットワーク経由で他のサーバーに転送し、それらを 1 つの tar ファイルにマージすることができます。tar ファイルを複数のファイルに
分割mybackup-parts で始まる小さなファイル:

[root@linuxtechi ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts 

上記のコマンドは、mybackup-2016-09-09.tgz ファイルを現在のディレクトリ内の複数の 6 MB の小さなファイルに分割します。ファイル名は mybackup-partsaa ~ mybackup-partsag になります。ファイルを分割した後、文字ではなく数字で区別したい場合は、上記の分割コマンドで -d オプションを使用できます。

[root@linuxtechi ~]# split -b 6M mybackup-2016-09-09.tgz -d mybackup-parts 

結合されたアーカイブ:

[root@linuxtechi ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz  

5. 拡張子: Linux で zip パッケージを解凍するコマンド

Linux システムでの ZIP は、圧縮アーカイブ ファイルを作成する一般的な方法であり、従来のファイル アーカイブ形式でもあるため、Linux で zip パッケージを解凍するコマンドは何ですか? Linux で zip パッケージを解凍するコマンドは次のとおりです: unzip , このコマンドは主に zip ファイルの表示と解凍に使用されます。具体的な内容の紹介については、以下を参照してください。
 Linux unzip コマンド: zip ファイルを解凍します。

unzip コマンドは、zip ファイルの表示と解凍に使用され、zip アーカイブ内の圧縮ファイルを一覧表示、テスト、抽出できます。

コマンド構文:

unzip [オプション] 圧縮パッケージ名

コマンドオプション:

-d ディレクトリ名は、圧縮ファイルを指定したディレクトリに解凍します。

-n 解凍時に既存のファイルを上書きしません

-o ユーザーの確認なしで解凍するときに既存のファイルを上書きします。

-v 圧縮ファイルに含まれるファイル サイズ、ファイル名、圧縮率など、圧縮ファイルの詳細情報を表示しますが、解凍は実行しません。

-t 圧縮ファイルの損傷をテストしますが、解凍はしません

-x file-list ファイルを抽出しますが、file-list で指定されたファイルは含まれません。

例: dist.zip パッケージを解凍し、webtopo_client ディレクトリに上書きします。

unzip  -xo -d webtopo_client/ dist.zip
  • その他の一般的な解凍コマンド
    tar -xvf filename.tar
    tar -zxvf filename.tar.gz
    tar -zxvf filename.tgz
    tar -jxvf filename.tar.bz2
    tar -xZvf filename.tar.Z
    unrar e filename.rar # 現在のファイル名に解凍します。ディレクトリ
    unrar x filename.rar /path/to/extract
    unzip filename.zip -d filepath
    tar.xz ファイルの解凍: 最初に xz -d xxx.tar.xz を tar に、次に tar xvf xxx.tar

  • 压缩コマンド
    tar -zcvf filename.tar.gz filename
    tar -zcvf filename.tgz filename
    tar -jcvf filename.tar.bz2 filename
    zip filename.zip filename
    zip -r location.zip location
    gzip -d filename.gz filename
    rar -a filename .rar ファイル名

おすすめ

転載: blog.csdn.net/u014212540/article/details/130371237