内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
02_freebsd
»
80_Unixコマンド
»
tar
トレース:
02_freebsd:80_unixコマンド:tar
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 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> ==== tar でディレクトリ丸ごとコピー ==== 10.10.10.10の/mnt/ を 10.10.10.20の/mnt/ に丸ごとコピー <code> ssh root@10.10.10.10 tar -C /mnt/ --sparse --one-file-system -zcp --numeric-owner --xattrs . | ssh root@10.10.10.20 tar -xzp -C /mnt/ </code> ==== tar で丸ごとバックアップ ==== /mnt/ディレクトリを丸ごと 10.10.10.30にtarで固めてバックアップ <code> tar -C /mnt/ --sparse --one-file-system -zcp --numeric-owner --xattrs . | ssh root@10.10.10.30 "cat > /backup/backup.tar.gz" </code> {{tag>Unixコマンド 圧縮・復元・パックアップ tar}}
02_freebsd/80_unixコマンド/tar.txt
· 最終更新: 2022/09/22 12:47 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ