======Archive======
=====単体ファイルの解凍、圧縮=====
====解凍=====
===xz===
$ xz -d ファイル.xz
===bzip(bz2)===
$ bzip -d ファイル.bz2
===gzip(gz)===
$ gzip -d ファイル.gz
====圧縮====
勝手に拡張子が付けられる
===xz===
$ xz ファイル
===bzip(bz2)===
$ bzip ファイル
===gzip(gz)===
$ gzip ファイル
=====tar=====
$ tar option file
====option====
^ コマンド ^ 動作 ^
| A |tarファイルを書庫に追加する |
| c |書庫を新規に作成する |
| d |書庫とファイル・システムを比較する|
| r |書庫の後部にファイルを追加する|
| t |書庫の内容を表示する|
| u |書庫内のファイルより新しいファイルのみ追加する|
| x |書庫を解凍 |
| z |gzipを通して処理する|
| j |bzip2を通して処理を行う|
| J |LZMAを通して処理を行う|
| k |ファイルが存在する場合は上書きしない |
| v |詳細を表示する|
|--delete|書庫内からファイルを削除する|
【例】
$ tar cvfz backup.tar.gz ~/backup #bakupフォルダをgzipで書庫backup.tar.gzにする
$ tar cvfj backup.tar.bz2 ~/backup #bakupフォルダをbzip2で書庫backup.tar.bz2にする
$ tar jxfv backup.tar.bz2 #bzip2で圧縮されている書庫backup.tar.bz2を解凍する
$ tar rf archive.tar add_file #既にある書庫にファイル(add_file)を追加する
$ tar tf archive.tar #書庫ファイルの内容を一覧する
==== --xzオプション (-J) tar 1.22から ====
[[http://www.gnu.org/software/tar/|tar 1.22]]から--xzがサポートされました。\\
xzはLZMAフォーマットという7-Zipアーカイバの7zフォーマットで使用されているデータ圧縮アルゴリズムを
利用したものだそうです。 \\
GNUで配布されているcoreutilsだとgzは9310KBなのにxzだと3875KBです。かなり圧縮率高いです。 \\
xzもtar1.22もまだでたばっかりなのでソースからインストールします。 \\
macの場合はxzもtarも最新版がMac portsに入っています。
* tarはgnutarという名前で入っています。/opt/local/bin/gnutarと入るのでaliasなんかすべし。 \\
* xzはxz-develではいっています。
$ sudo port install gnutar
$ sudo port install xz-devel
.zshrcかなんかに
$ vi ~/.zshrc
alias tar='/opt/local/bin/gnutar'
ソースからインストールする場合は \\
まずxz \\
[[http://tukaani.org/xz/|ここ]]から最新版のxzをダウンロード
$ cd src
$ wget http://tukaani.org/xz/xz-4.999.8beta.tar.gz
$ tar xzf xz-4.999.8beta.tar.gz
$ cd xz-4.999.8.beta
$ ./configure
$ make
$ sudo make install
次にtar1.22。[[http://core.ring.gr.jp/pub/GNU/tar/|ここ]]からダウンロード
$ cd src
$ wget http://core.ring.gr.jp/pub/GNU/tar/tar-1.22.tar.gz
$ tar xzf tar-1.22.tar.gz
$ cd tar-1.22
$ ./configure
$ make
$ make check
$ sudo make install
prefixをしてしていないのならどちらも/usr/local/binに入ってる。でも怖いんで素のままの場所にはやめた方がいいです。
===使い方===
使い方はJ(ラージ)です。
【例】
$ tar Jfcv arc.tar.xz arc/
=====7zip (7za)=====
インストール
$ sudo port install p7zip
圧縮
$ 7za a dir.7z dir/
解凍
$ 7za x dir.7z
ディレクトリ指定で解凍
$ 7za x -o"directory" dir.7z
高圧縮
$ 7za a -mx=9 -mfb=258 -mpass=15 dir.7z dir/
gzipで圧縮
$ 7za a -tgzip dir.7z dir/
bzip2で圧縮
$ 7za a -tbzip2 dir.7z dir/
パスワード付き
$ $ 7za a -p"password" dir.7z dir/
=====パスワード付きzip=====
$ zip -e -r dir.zip dir/
=====unzip=====
zipファイルの解凍
そのまま
$ unzip foo.zip
とやると中のファイルがカレントディレクトリ内に解凍されてしまうので
$ unzip foo.zip -d foo_dir
とするとfoo_dir/のなかに解凍されるようになる。