Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

あらゆるアーカイブを管理できるツール、atool

2008年02月13日 11:47 Ben-Martin(2008年2月5日(火)) 1 2 3

 7zip形式の場合、何も指定しなければ7zツールを使って圧縮する。しかし、ディストリビューションにp7zipパッケージが含まれているので7zの代わりに7zaをデフォルトにしたいということもあろう。その場合は、構成ファイルに次のように記述する。atoolの構成ファイルは簡単なもので、キーワードと値の対で記述する。/etc/atool.confはすべてのユーザーに、~/.atoolrcはそのユーザーに適用される。

    # cat /etc/atool.conf
    path_7z 7za

 acatを使うと、アーカイブ中のファイルを見ることができる。このコマンドラインも簡単だ。圧縮ファイルの復元ツールや展開ツールのスイッチが何だったかを思い出す必要はない。atoolは選択したファイルをstdoutに書き出す(デフォルト)。その際、展開に関するメッセージが不要な場合は、下の2番目の例に示したように、コマンドライン・オプション-qを指定する。残念な点を1つ。7zip用のツールは直接コンソールに出力できないため、ページャーを介す必要がある。デフォルトではコマンドpagerが使われるが、これはPAGER環境変数で変更可能だ。

    $ acat testdir.tar.bz2 testdir/df1.txt
    testdir/df1.txt
    Thu Jan 17 18:11:04 EST 2008
    $ acat -q testdir.tar.bz2 testdir/df1.txt
    Thu Jan 17 18:11:04 EST 2008

    $ export PAGER=less
    $ acat -q -p   testdir.cpio.7z testdir/df1.txt
    7-Zip (A) 4.51 beta  Copyright (c) 1999-2007 Igor Pavlov  2007-07-25
    p7zip Version 4.51 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

    Processing archive: testdir.cpio.7z

    Extracting  testdir/df1.txt

    Everything is Ok
    Thu Jan 17 18:11:04 EST 2008

    $ acat -p   testdir.cpio.7z testdir/df1.txt  2>/dev/null
    Thu Jan 17 18:11:04 EST 2008

 次に、アーカイブを展開する例を見てみよう。これは、atoolの十八番だ。すでに述べたように、atoolを使う限り、アーカイブがファイルをサブディレクトリーの中に展開してくれるかどうかをいちいち確認する必要がない。次に示すのは、先の例で作成したcpioファイルを展開する例だ。この場合、ファイルは元々サブディレクトリーの中にあるため、取り立ててatoolのありがたみはない。そこで、アーカイブのルート・ディレクトリーにファイルを2つ含むjarアーカイブを作り、これをaunpackを使って展開した。これが、下の2番目の例だ。2つのファイルは、確かにサブディレクトリーの中に置かれている。

    $ cd /tmp/atest
    $ mkdir extraction
    $ cd extraction
    $ aunpack ../testdir.cpio.7z
    ...
    Processing archive: ../testdir.cpio.7z

    Extracting  testdir/df1.txt
    Extracting  testdir/df2.txt
    Extracting  testdir/subdir1/subfileb.txt
    Extracting  testdir/subdir1
    Extracting  testdir

    Everything is Ok
    testdir.cpio.7z: extracted to `testdir'
    [ben@alkid extraction]$ ls -lh
    total 8.0K
    drwxrwxr-x 3 ben ben 4.0K Thu.17.Jan  18:01 testdir/
    $ cat ./testdir/df2.txt
    Thu Jan 17 18:11:06 EST 2008

    $ cd /tmp/atest/testdir
    [ben@alkid testdir]$ ls -l
    total 24
    -rw-rw-r-- 1 ben ben   29 2008-01-17 18:11 df1.txt
    -rw-rw-r-- 1 ben ben   29 2008-01-17 18:11 df2.txt
    drwxrwxr-x 2 ben ben 4096 2008-01-17 18:11 subdir1
    $ apack ../nasty-archive.jar df1.txt df2.txt
      adding: df1.txt (stored 0%)
      adding: df2.txt (stored 0%)
    $ cd ..
    $ rm -rf extraction
    $ cd extraction
    $ aunpack  ../nasty-archive.jar
    Archive:  ../nasty-archive.jar
     extracting: Unpack-3078/df1.txt
     extracting: Unpack-3078/df2.txt
    nasty-archive.jar: extracted to `nasty-archive' (multiple files in root)
    $ ls -lR
    .:
    total 8
    drwx------ 2 ben ben 4096 2008-01-17 18:40 nasty-archive

    ./nasty-archive:
    total 16
    -rw-rw-r-- 1 ben ben 29 2008-01-17 18:11 df1.txt
    -rw-rw-r-- 1 ben ben 29 2008-01-17 18:11 df2.txt
最終更新:2009年06月18日 13:58