tarコマンドにXオプションと除外リストが記載されたファイルを
指定することで、一部のファイル・ディレクトリを省いて展開する事が
出来ます。
詳細は、 tar(1) – テープアーカイブの作成およびファイルの追加または抽出
man コマンドの説明がわかり辛いので以下実例です。
▼tar tvfコマンドでtarファイルの中身を閲覧
-bash-3.00$ tar tvf ../test.tar
drwxr-xr-x 101/10 0 5月 13日 18:13 2009年 testdir/
drwxr-xr-x 101/10 0 5月 13日 18:13 2009年 testdir/1/
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/a
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/b
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/c
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/d
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/e
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/f
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/g
drwxr-xr-x 101/10 0 5月 13日 18:14 2009年 testdir/2/
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/1
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/2
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/3
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/4
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/5
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/2/6
drwxr-xr-x 101/10 0 5月 13日 18:14 2009年 testdir/3/
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/7
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/8
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/9
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/10
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/11
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/12
▼exclude-fileを表示
-bash-3.00$ cat exclude-file
testdir/2
▼exclude-fileを除外してtarファイルの中身を確認
-bash-3.00$ tar tvfX ../test.tar ./exclude-file
drwxr-xr-x 101/10 0 5月 13日 18:13 2009年 testdir/
drwxr-xr-x 101/10 0 5月 13日 18:13 2009年 testdir/1/
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/a
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/b
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/c
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/d
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/e
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/f
-rw-r--r-- 101/10 0 5月 13日 18:13 2009年 testdir/1/g
testdir/2/ を除外します。
testdir/2/1 を除外します。
testdir/2/2 を除外します。
testdir/2/3 を除外します。
testdir/2/4 を除外します。
testdir/2/5 を除外します。
testdir/2/6 を除外します。
drwxr-xr-x 101/10 0 5月 13日 18:14 2009年 testdir/3/
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/7
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/8
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/9
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/10
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/11
-rw-r--r-- 101/10 0 5月 13日 18:14 2009年 testdir/3/12
tvfをxvfに変更すれば、excplude_listを指定してのファイル展開になります。
実例が参考になりました。ありがとうございました。
返信削除