前回、圧縮ファイルの作り方を話だが、基本的は圧縮ファイルを解凍して、ファイル操作する。
圧縮ファイルの中身を見てみたいだけで、解凍するのが面倒くさいからやりたい方もいると思う。
z系コマンドを使って、解凍せずに圧縮ファイルの中身が確認できる
(読み方はわからなく、適当にz系コマンドにした。)
適当に圧縮ファイルを作る
[root@mgmt tmp]# tar zcvf snow-log.tgz /var/log/vmware-network.1.log
tar: メンバ名から先頭の `/' を取り除きます
/var/log/vmware-network.1.log
[root@mgmt tmp]# file snow-log.tgz
snow-log.tgz: gzip compressed data, last modified: Mon Oct 30 03:57:51 2023, from Unix, original size 10240
普通のmoreやcatなどのコマンドで開こうとすると、文字化けになり、開けない
ここでz系コマンドの登場だ
zless/zmoreで圧縮ファイルの中身を確認できる
(zcatもできるが、ファイルを丸ごとでメモリに投げてしまうため、川口的にはイヤだ)
[root@mgmt tmp]# zless snow-log.tgz
@^@^@^@^@^@2023年 10月 5日 木曜日 17:01:40 JST : Executing '/etc/vmware-tools/scripts/vmware/network poweroff-vm'
2023年 10月 5日 木曜日 17:01:40 JST : No argument supplied.
2023年 10月 5日 木曜日 17:01:40 JST :
zgrepでgrepもできる
aを付けないとgrepできない
(圧縮ファイルの中では複数ファイルが存在する場合が多く、-hを付けると、ファイル名も表示できるのが便利)
[root@mgmt tmp]# zgrep -ah 2023 snow-log.tgz
var/log/vmware-network.1.log0000644000000000000000000000043314507466544014776 0ustar rootroot2023年 10月 5日 木曜日 17:01:40 JST : Executing '/etc/vmware-tools/scripts/vmware/network poweroff-vm'
2023年 10月 5日 木曜日 17:01:40 JST : No argument supplied.
2023年 10月 5日 木曜日 17:01:40 JST : Finished '/etc/vmware-tools/scripts/vmware/network poweroff-vm'
zdiffでdiffすることもできる
(中身も表示できるはずなのに、でない。。。)
[root@mgmt tmp]# tar zcvf snow-log-2.tgz /var/log/vmware-network.2.log
tar: メンバ名から先頭の `/' を取り除きます
/var/log/vmware-network.2.log
[root@mgmt tmp]# zdiff snow-log.tgz snow-log-2.tgz
バイナリーファイル /dev/fd/5 と- は異なります
以上