ファイルを取得して直接解凍

どうやるんだっけ?と調べ直すことが多いのでメモしておく。

$ curl [url] | tar zx -C [dir]

DockerfileやVagrantfileであったり、shellスクリプトに書く時に便利。ローカルにファイルを一度落として、解凍して、削除という手順を省略することができる。

tarの-Cオプションは任意のディレクトリに解凍する、なので特に指定しなくても構わない。自分の場合は下記のようにすることが多い。

$ curl http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz | tar zx -C /opt

上記は下記をやった結果と同じになる。

$ curl -O http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
$ tar zxf zookeeper-3.4.6.tar.gz -C /opt
$ rm zookeeper-3.4.6.tar.gz

以上。

■ 関連