0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

bzip2、xzコマンドは「ディレクトリ内のファイルをすべて圧縮(-rオプション)」をできるんだっけ?

Posted at

LinuC対策勉強の際、bzip2、xzコマンドに-r(ディレクトリ内のファイルをすべて圧縮)の記載がなかったので、コマンドとして使用できるのかを検証してみる。
(マニュアル見たほうが解決は速いのだが、、)

ついでに圧縮について、業務にてテストデータを準備するとき、そこそこ使用する頻度があったので、備忘録的にまとめたほうが後々便利かと思いアウトプット。
まず、gzip bzip2 xz の基本的な操作コマンドをオプション一覧でまとめる。

余談ですが、-rオプションは指定したディレクトリごと圧縮するのではなく、ディレクトリ内のファイルをすべて圧縮するだけです。
ディレクトリを圧縮するにはtarコマンドを使用し、アーカイブを作成したあとにgzipコマンドなどで圧縮する必要があります。

ファイルの圧縮、解凍コマンドのオプション一覧

オプションの説明\コマンド gzip bzip2 xz
圧縮ファイルを展開 -d, --decompress -d, --decompress -d, --decompress
標準出力へ出力 -c,--stdout -c,--stdout -c,--stdout
圧縮・解凍元ファイルを残す -k, --keep -k, --keep -k, --keep
ディレクトリ内のファイルをすべて圧縮 -r, --recursive (使用不可) (使用不可)

基本的な書式は下記の通り( {コマンド} はzip、gzip、bzip2、xz )

書式
$ {コマンド} [オプション] [ファイル名]

検証

上記の「ファイルの圧縮、解凍コマンドのオプション一覧」に記載したが、
結論を言えばbzip2、xzコマンドに-r(ディレクトリ内のファイルをすべて圧縮)は使用できなかった。

検証は以下の通り

検証ディレクトリ構造
/bash_test
|--test.txt
|--test2.txt
|--testdir
|  |--test2
|  |--test2.txt
|  |  |--test1.txt

ディレクトリ構造の表示は下記を参考

bzip2 → NG

成功せず。

xz → NG

成功せず。

gzip → OK

(当然であるが)成功。

実行後ディレクトリ

実行後ディレクトリ構造(-kオプションを使用し、元ファイルが残るように実施)
/bash_test
|--test.txt
|--test.txt.gz
|--test2.txt
|--test2.txt.gz
|--testdir
|  |--test2
|  |--test2.txt
|  |--test2.txt.gz
|  |  |--test1.txt
|  |  |--test1.txt.gz

結論

gzipでは使用できる-rは、bzip2、xzコマンドに使えなかった。
めったにないとは思うが、例えば、圧縮したテストファイルをディレクトリに分けて準備するときや、ディレクトリに分かれた圧縮データを解凍する時などには注意をしたい。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?