GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイルを圧縮および抽出するための16のtarコマンド

Tarは、LinuxおよびUnixシステムでアーカイブファイルを作成および操作するために使用されるコマンドラインツールです。 Tarコマンドは.tarアーカイブファイルを作成し、gzipまたはbzip2を使用して圧縮します。

1つのコマンドを使用して単一のアーカイブ圧縮ファイルを作成し、.tar.gzファイルまたは.tar.bz2ファイルを取得できます。 Tarコマンドを使用して、アーカイブファイルを抽出することもできます。

いくつかの実用的な例を通して、tarコマンドの動作を見てみましょう。

1).tarアーカイブファイルを作成します

非圧縮tar(.tar)を作成するには、次のようにtarコマンドで-cオプションを使用します。

$ tar -cvf /path/to/foo.tar /path/to/foo/

ここで'/path/to/foo.tar' は結果のtarファイルの場所であり、「/ path / to/foo」は入力として使用するファイルまたはディレクトリの場所です。

$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar

例に示すように、相対パスの代わりに絶対パスを使用できます。

2)tarを使用して.gzアーカイブを作成します

.gzを作成するためのコマンド構文 tarを使用したアーカイブは次のとおりです:

$ tar -czvf /path/to/foo.tgz /path/to/foo/

ここで、「/ path / to / foo.tgz」は宛先の圧縮ファイルであり、「 / path / to / foo /'は、圧縮するソースディレクトリまたはファイルです。

3).bz2アーカイブを作成します

オプション-j .bz2アーカイブを操作するために使用されます。

$ tar -cjvf /path/to/foo.tgz /path/to/foo/

4).gzアーカイブを作成して除外します

--excludeを使用します 特定の拡張子またはファイル拡張子のリストを除外するtarオプション。構文は次のようになります。

$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.

5)compressで絶対パスのないtarを使用する

tarを使用してファイルを圧縮し、絶対パスを指定すると、圧縮ファイルのメタデータにフルパスが含まれるため、コンテンツを抽出すると、渡された絶対パスと同様のディレクトリに配置されます。これを回避するには、を追加します。 コマンドの最後に。

$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .

6)特定の文字で始まるすべてのファイルをtarします

'i'で始まる現在のディレクトリ内のすべてのtarアーカイブを作成します。

# tar -cvf fullbackup.tar i*
install.log
install.log.syslog

7)既存のtarアーカイブに新しいファイルを追加します

ファイルを追加するか、既存のtarアーカイブに新しいファイルを追加します。

# tar --append --file=backup.tar anaconda-ks.cfg

上記のコマンドは、backup.tarアーカイブにanaconda-ks.cfgファイルを追加します

8)連結オプションを使用して2つのアーカイブファイルを追加する

# tar --concatenate --file=backup.tar fullbackup.tar

上記のコマンドは、fullbackup.tarのコンテンツをbackup.tarアーカイブに追加します。

9).tarアーカイブファイルを抽出します

拡張子が.tarであることが多い非圧縮アーカイブを抽出するには 、コマンド構文は次のとおりです。

$ tar -xvf /path/to/foo.tar

ここで、/ path / to / foo.tarは、tarファイルの場所への絶対パス/相対パスです。例

$ tar -xvf powerlog.tar 
x powerlog/

10).gzアーカイブを抽出します

.gzを抽出するには アーカイブでは、コマンド構文を使用します:

$ tar -xzvf /path/to/foo.tgz

ここで、「/ path / to / foo.tgz」は、圧縮ファイルへの絶対パスまたは相対パスです。

11).bz2アーカイブを抽出します

.bz2を抽出するためのコマンド構文 アーカイブは

$ tar -xjvf /path/to/foo.bz2

-jで圧縮されている限り、.tgzファイルを渡すことができることに注意してください。 オプション。 Tarはフォーマットを自動検出し、解凍します。

12)指定したディレクトリに.tarを抽出します

tarアーカイブを特定のディレクトリに抽出するには、-Cを使用します 宛先ディレクトリを提供するオプション。

$ tar -xvf /path/to/foo.tar -C /path/to/destination/

13)tarアーカイブからファイルを抽出します

次のコマンドは、「backup.tar」アーカイブ内の「anaconda-ks.cfg」ファイルを抽出します。

# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg

14).gzアーカイブの内容を一覧表示する

.tgzのコンテンツのみを表示したいとします。 それらを抽出せずにファイルを作成するには、次のコマンド構文を使用します:

$ tar -ztvf /path/to/foo.tgz

'/path/to/foo.tgz'を.tgzの正しいパスに置き換えるだけです。 ファイル

15).bz2アーカイブファイルのコンテンツを一覧表示する

.bz2のコンテンツだけを表示したい場合 抽出せずにアーカイブするには、次のコマンドを使用します:

$ tar -jtvf /path/to/foo.tgz

16)tarコマンドを使用してシンボリックリンクを保持する

tar -cvhfを使用します tarアーカイブを生成するときにシンボリックリンクを保持するため(そのためにオプション「h」を使用します)。

結論

tarコマンドのすべてのオプションを覚えるのは難しいです。以下は、一般的に使用されるtarオプションのリストです。

- j :bzip2でアーカイブをフィルタリングするために使用されます。
- v :コマンドを冗長モードで実行して、アーカイブファイルの進行状況を表示します。
- f :アーカイブファイル名を指定してください。
- W :アーカイブファイルの検証に使用されます。
- z :gzipツールでアーカイブをフィルタリングします。
- t :アーカイブファイルの内容を表示するために使用します。
-c :指定したアイテムを含む新しいアーカイブを作成します。
-r :ファイルまたはディレクトリを使用して既存のアーカイブを追加または更新するために使用されます
-t :stdoutにアーカイブの内容を一覧表示します。
-u :-rと同様ですが、新しいエントリは、アーカイブ内の対応するエントリよりも変更日が新しい場合にのみ追加されます。
-x :アーカイブファイルをディスクに抽出します。

すべてのtar操作で、ユーティリティは0で終了します。 成功すると、>0 エラーが発生した場合。スクリプトでtarを使用している場合は、これを理解することが重要です。

tarコマンドに関するこのチュートリアルを楽しんでいただけたでしょうか。以下のコメントセクションに提案を残してください。

関連項目:

  • tarコマンドでシンボリックリンクを保持する方法

Linux
  1. Linuxで特定のディレクトリまたは別のディレクトリにtarファイルを抽出する方法

  2. アーカイブを作成および抽出するためのLinuxでの10のtarコマンドの例

  3. Linux cpio の例:cpio アーカイブ (および tar アーカイブ) を作成および抽出する方法

  1. Linuxでファイルとディレクトリをアーカイブする方法[パート2]

  2. Linuxでファイルとディレクトリをアーカイブする方法[パート1]

  3. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  1. Linuxでのtarコマンド(ファイルの圧縮と解凍)

  2. Linuxでファイルをアーカイブおよび圧縮する方法

  3. ubuntulinuxでtar.gzファイルとtar.bz2ファイルを作成して抽出します