アーカイブの中からファイル抜き出し

アーカイブの中からファイル抜き出し

tar コマンドで固めたファイルは
解凍しなくてもディレクトリ構造をみることができる

例えば

sudo tar zcvf etc.tar.gz /etc/


/etc/ 以下を
etc.tar.gz 以下に固め
この中身の一覧を見るのなら
tオプションをつかう

tar ztvf etc.tar.gz |head -n5


一覧の中から5つだけ表示
結果は


drwxr-xr-x root/root         0 2015-07-29 20:37 etc/
-rw-r--r-- root/root       233 2010-01-12 22:28 etc/printcap
lrwxrwxrwx root/root         0 2015-01-12 18:34 etc/rc3.d -> rc.d/rc3.d
-rw-r--r-- root/root        58 2014-11-04 21:17 etc/networks
-rw-r--r-- root/root       158 2010-01-12 22:28 etc/hosts

となる

今度は、ファイルそのものを指定
ただし、一覧を指定しているのでファイル情報がでて
中身の表示ではない
本来は、ディレクトリなどを対象にして一覧をみるのにつかう

tar ztvf etc.tar.gz etc/networks

結果は

-rw-r--r-- root/root        58 2014-11-04 21:17 etc/networks

次に中身の取り出し
これは xオプションをつかう

tar zxvf etc.tar.gz etc/networks

とすると
etc というフォルダができ
その中に networks ファイルが入っている

ネットでよくみかけるtar の展開はほとんどこのタイプ

また、取り出さなくても
-O をつけることでファイルの中身をみることができる

tar zxvf etc.tar.gz etc/networks -O 

とすれば

etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

というように閲覧可能

この圧縮ファイルの中身をみるのは
zip 形式のものでもできる

例えば、過去に取得した wordpress
の圧縮ファイルの
latest-ja.zip

この中身をみるため、ファイル一覧を調べる
vオプションで詳細をみれる

今回は、数が多いので
head -n10
をつけて絞っている

unzip -v latest-ja.zip | head -n10

結果は

Archive:  latest-ja.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 02-19-2015 23:24 00000000  wordpress/
    8252  Defl:X     2979  64% 07-17-2014 18:12 5aa29ac6  wordpress/wp-mail.php
    2714  Defl:X     1217  55% 07-08-2014 01:42 96436a4e  wordpress/wp-load.php
       0  Stored        0   0% 02-19-2015 23:24 00000000  wordpress/wp-content/
       0  Stored        0   0% 02-19-2015 23:24 00000000  wordpress/wp-content/themes/
      28  Stored       28   0% 06-06-2014 00:59 fb11104a  wordpress/wp-content/themes/index.php
       0  Stored        0   0% 02-19-2015 23:24 00000000  wordpress/wp-content/themes/twentyfourteen/

となる

この中から
wordpress/wp-content/themes/index.php

の中身を表示するには pオプションをつかう

unzip -p latest-ja.zip wordpress/wp-content/themes/index.php


を実行すると

<?php

// Silence is golden.

という結果になる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です