ユーザ用ツール

サイト用ツール


02_freebsd:80_unixコマンド:tar

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
02_freebsd:80_unixコマンド:tar [2015/05/21 13:32]
matsui
02_freebsd:80_unixコマンド:tar [2017/10/04 17:50] (現在)
matsui
ライン 1: ライン 1:
 +====== tar ======
  
 +===== 機能 =====
 +
 +複数のファイルをひとつのファイルにまとめることをアーカイブといいます。
 +tarコマンドは、指定したファイルや指定したディレクトリ以下のツリーを、テープなどのメディアに
 +アーカイブしたり、アーカイブデータを展開するコマンドです。
 +
 +▼dumpコマンドとの使い分け
 +dumpコマンドがファイルシステム単位でバックアップをとるのに対し、tarコマンドは
 +任意のディレクトリ以下をアーカイブできるので、システム全体のバックアップは
 +dumpコマンドで、それ以外のバックアップはtarコマンドで、といった使い分けができます。
 +
 +===== 構文 =====
 +
 +<​code>​
 +tar [オプション] [ファイル名]
 +</​code>​
 +
 +=== オプション ===
 +
 +
 +^オプション^ ​ 意味 ​ ^
 +|c|アーカイブファイルを新規に作成する|
 +|f|指定されたファイルにアーカイブデータを出力する|
 +|t|アーカイブファイルの内容を表示する|
 +|v|ファイル名のほかにタイムスタンプやアクセス権などの詳細な情報を表示する|
 +|x|アーカイブファイルからファイルを取り出す|
 +|z|アーカイブファイルをgzipで圧縮する(FreeBSD・Linux)|
 +|j|bzip2を通して処理を行う |
 +|X FILE|FILEに記述されたファイル(フォルダ)を除外する。|
 +|C|指定したディレクトリにファイルを展開する|
 +
 +
 +===== コマンド例 =====
 +
 +==== /​etcディレクトリ以下のファイルをフロッピーディスク(/​dev/​fd0)にアーカイブする ====
 +
 +<code console>
 + # cd /etc
 + # tar cf /dev/fd0 ./*\
 +</​code>​
 +
 +==== アーカイブ内のファイル名を表示する ====
 +
 +<code console>
 + # tar tf /dev/fd0 |head
 + ​etc/​X11/​
 + ​etc/​aliases
 + ​etc/​amd.map
 + ​etc/​antivir.conf
 + ​etc/​apmd.conf
 + ​etc/​auth.conf
 + ​etc/​avguard.conf
 + ​etc/​crontab
 + ​etc/​csh.cshrc
 + ​etc/​csh.login
 +</​code>​
 +
 +==== アーカイブ内のファイル名とファイル属性を表示する ====
 +
 +<code console>
 + ​root@vaio#​ tar tfv /dev/fd0 |head
 + ​drwxr-xr-x root/​wheel ​       0  5 26 06:27 2004 etc/X11/
 + ​lrwxrwxrwx root/​wheel ​       0  9 21 23:27 2004 etc/aliases -> mail/​aliases
 + ​-rw-r--r-- root/​wheel ​     208  5 26 06:28 2004 etc/amd.map
 + ​-rw-rw-r-- root/​antivir ​  3623 11 10 07:38 2004 etc/​antivir.conf
 + ​-rw-r--r-- root/​wheel ​    ​1167 ​ 5 26 06:28 2004 etc/​apmd.conf
 + ​-rw-r--r-- root/​wheel ​     272  5 26 06:28 2004 etc/​auth.conf
 + ​-rw-rw-r-- root/​antivir ​  3730 11 10 07:31 2004 etc/​avguard.conf
 + ​-rw-r--r-- root/​wheel ​     637  5 26 06:28 2004 etc/crontab
 + ​-rw-r--r-- root/​wheel ​     108  5 26 06:28 2004 etc/​csh.cshrc
 + ​-rw-r--r-- root/​wheel ​     486  5 26 06:28 2004 etc/​csh.login
 +</​code>​
 +
 +==== アーカイブデータからファイルを取り出す ====
 +
 +<code console>
 + # tar xf /dev/fd0
 +</​code>​
 +
 +==== 特定フォルダを除外する ====
 +
 +=== workフォルダにa,​b,​cというフォルダがあるとする ===
 +<code console>
 + $ find work
 + work
 + ​work/​a
 + ​work/​a/​a.html
 + ​work/​b
 + ​work/​b/​b.html
 + ​work/​c
 + ​work/​c/​c.html
 +</​code>​
 +
 +=== jogaiとうファイルをに除外したいフォルダ名を記述しておく。 ===
 +<code console>
 + $ echo b > jogai
 + $ echo c >> jogai
 + $ cat jogai
 + b
 + c
 +</​code>​
 +
 +=== jogaiファイルで指定したフォルダを除いて圧縮できる。 ===
 +<code console>
 + $ tar zcvXf jogai backup.tar.gz x
 + work/
 + ​work/​a/​
 + ​work/​a/​a.html
 +</​code>​
 +
 +==== bzip2を通して、tar,​gz2で圧縮・解凍 ====
 +
 +
 +=== 圧縮 ===
 +<code console>
 + $ tar jcvf work.tar.gz2 work
 + a work
 + a work/​sabun.sh
 + a work/​test.rb
 + a work/​ch_20060317.txt
 + a work/​kr_20060317.txt
 + a work/​test.rb.bak
 + a work/​seek.sh
 + a work/A
 + a work/​serverlist.txt
 + a work/B
 + a work/​test.txt
 + a work/a.sh
 + a work/​sample01.sh
 + a work/​test.php
 +</​code>​
 +=== 解凍 ===
 +<code console>
 + $ tar jxvf work.tar.gz2
 + x work
 + x work/​sabun.sh
 + x work/​test.rb
 + x work/​ch_20060317.txt
 + x work/​kr_20060317.txt
 + x work/​test.rb.bak
 + x work/​seek.sh
 + x work/A
 + x work/​serverlist.txt
 + x work/B
 + x work/​test.txt
 + x work/a.sh
 + x work/​sample01.sh
 + x work/​test.php
 +</​code>​
 +
 +=== tar.gzより、tar.gz2の方が圧縮率が高い ===
 +<code console>
 + $ ls -al
 + ​drwxr-xr-x ​  2 matsui ​ Admin      512  8 13 03:36 work/
 + ​-rw-r--r-- ​  1 matsui ​ users     ​4900 ​ 8 16 11:41 work.tar.gz
 + ​-rw-r--r-- ​  1 matsui ​ users     ​4348 ​ 8 16 11:40 work.tar.gz2
 +</​code>​
 +
 +==== 特定ファイルだけを取り出す ====
 +<code console>
 + $ tar zxvf foo.tgz filename
 +</​code>​
 +
 +==== 指定したディレクトリに展開する ====
 +
 +hogeディレクトリに展開する場合
 +<code console>
 +$ mkdir hoge
 +$ tar zcvfC foo.tar.gz ./hoge
 +</​code>​
 +
 +{{tag>​Unixコマンド 圧縮・復元・パックアップ tar}}
02_freebsd/80_unixコマンド/tar.txt · 最終更新: 2017/10/04 17:50 by matsui

Yesterday:1656 Today:898 Total:11877