tar/zipしたあと元ファイルを削除

tar zip でアーカイブ化したあと、元ファイルを削除するにはどうすればよいのか?

tar version

tar の場合は --remove-file オプションを利用する。

–remove-files
remove files after adding them to the archive

$ touch a1 a2 a3
$ tar -cvzf test.tgz a* --remove-files
a1
a2
a3
$ ls -l
total 4
-rw-rw-r-- 1 jsmith jsmith 130 Apr 12 22:52 test.tgz
$ zcat test.tgz | tar tv      # -t,--list : list the contents of an archive
-rw-rw-r-- jsmith/jsmith     0 2013-04-12 22:51 a1
-rw-rw-r-- jsmith/jsmith     0 2013-04-12 22:51 a2
-rw-rw-r-- jsmith/jsmith     0 2013-04-12 22:51 a3

$ tar xvzf test.tgz
a0
a2
a3

$ ls -l
total 4
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:51 a1
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:51 a2
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:51 a3
-rw-rw-r-- 1 jsmith jsmith 130 Apr 12 22:52 x.tgz

zip version

zip の場合は -m/--move オプションを利用する。

-m
–move
Move the specified files into the zip archive; actually, this deletes the target directories/files after making the specified zip archive. If a directory becomes empty after removal of the files, the directory is also removed. No deletions are done until zip has created the archive without error. This is useful for conserving disk space, but is potentially dangerous so it is recommended to use it in combination with -T to test the archive before removing all input files.

-T/--test オプションを一緒に使うと、正しく zip 化出来なくても、元ファイルが削除されなくてすむ。

$ touch a1 a2 a3
$ zip -mT test.zip 2012*
  adding: a1 (stored 0%)
  adding: a2 (stored 0%)
  adding: a3 (stored 0%)
test of test.zip OK

$ ls -l
total 4
-rw-rw-r-- 1 jsmith jsmith 418 Apr 12 23:02 test.zip

$ unzip -l test.zip      # -t,--list : list the contents of an archive
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2013-04-12 22:56   a1
        0  2013-04-12 22:56   a2
        0  2013-04-12 22:56   a3
---------                     -------
        0                     3 files

$ unzip test.zip
Archive:  test.zip
 extracting: a1
 extracting: a2
 extracting: a3

$ ls -l
total 4
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:56 a1
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:56 a2
-rw-rw-r-- 1 jsmith jsmith   0 Apr 12 22:56 a3
-rw-rw-r-- 1 jsmith jsmith 418 Apr 12 23:02 test.zip

注意

古い zip の場合

Zip Info 2.3 のような古い zip を使っていると、--test--move のようなロングオプションが使えない。古い Linux ディストリビューションを使っている場合は、注意が必要。

実行時の CPU 使用率やディスク IO などを調べたい

vmstat を実行する。

-n オプションを利用すると、ヘッダー情報は1回しか表示されないので、出力データを集計する場合に併用すると便利

$ vmstat -n 1 600 # delay = 1 second, count = 600
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0    244 176516 310876 3169644    0    0     2    12   10   10  0  0 99  0
 0  0    244 176508 310876 3169644    0    0     0     0  196  233  0  0 99  0
 1  0    244 175764 310876 3170236    0    0     0    48  237  295 13  1 87  0
 1  0    244 172904 310876 3173228    0    0     0     0  357  342 50  0 50  0
 1  0    244 169060 310876 3177504    0    0  1536    76  367  385 46  1 46  7
 1  0    244 156288 310876 3190360    0    0  9984     0  427  513 48  1 50  1
 1  0    244 142524 310876 3204000    0    0 10752     0  427  491 50  1 50  0
 1  0    244 128884 310876 3217796    0    0 10812     0  436  508 50  0 50  0
 1  0    312 173648 310152 3174076    0   68 10368    68  490  546 49  2 49  1
 1  0    312 177740 310152 3170208    0    0 10812    24  510  615 49  0 48  3
 1  0    312 180468 310152 3167884    0    0 10240     0  496  556 50  1 49  0
 ...

圧縮方式のベンチマーク

Huge Unix File Compresser Shootout with Tons of Data/Graphs
http://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/

ディレクトリを含む場合

未確認

Advertisements
Tagged with: , , ,
Posted in linux

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: