スポンサーリンク

【Ubuntu】zip形式でデータを圧縮する方法(zipコマンド)

Ubuntuでzip形式によってファイルやディレクトリを圧縮する方法です。

zipのインストール

zip形式で圧縮を行う場合は「zip」コマンドが必要となります。

インストールされていない場合は「apt」で「zip」のパッケージをインストールしてください。

$ sudo apt install zip

ファイルを圧縮

zip形式でファイルを圧縮する場合は、下記のように「zip」コマンドを実行します。

zip 圧縮後ファイル名.zip 圧縮したいファイル

「100MB」というファイルを「100MB.zip」という名前で「zip」により圧縮してみます。

$ zip 100MB.zip 100MB 
  adding: 100MB (deflated 100%)

元のサイズは100MBだったものがzip形式で圧縮されました。

$ ls -lh 100MB*
-rw-rw-r-- 1 tamohiko tamohiko 100M 10月 21 22:51 100MB
-rw-rw-r-- 1 tamohiko tamohiko 100K 10月 21 22:52 100MB.zip

「file」コマンドを使用すると、ファイルの種類を確認することが出来ます。

先程zip形式で圧縮したファイルを確認すると、「Zip archive data」と表示されてzip形式で圧縮されたファイルであることが分かります。

$ file 100MB.zip 
100MB.zip: Zip archive data, at least v2.0 to extract, compression method=deflate

複数ファイルを圧縮したい場合

圧縮後のファイル名のあとに、圧縮したいファイルをスペースで区切って複数指定することで、複数のファイルを1つのzipファイルとして圧縮することが出来ます。

zip 圧縮後ファイル名.zip 圧縮したいファイル1 圧縮したいファイル2 

下記の例では「10MB」と「1MB」というファイルを「data.zip」という名前でまとめて圧縮しています。

$ zip data.zip 10MB 1MB
  adding: 10MB (deflated 100%)
  adding: 1MB (deflated 100%)

ディレクトリを圧縮したい場合「-r」オプション

ディレクトリを「zip」で圧縮したい場合は、「-r」オプションを使用します。

zip -r 圧縮後ファイル名.zip 圧縮したいディレクトリ

「test_dir」というディレクトリを「test_dir.zip」という名前で圧縮してみます。

$ zip -r test_dir.zip test_dir/
  adding: test_dir/ (stored 0%)
  adding: test_dir/10MB (deflated 100%)
  adding: test_dir/100MB (deflated 100%)
  adding: test_dir/dir_01/ (stored 0%)
  adding: test_dir/dir_01/30MB (deflated 100%)
  adding: test_dir/dir_01/20MB (deflated 100%)
  adding: test_dir/1MB (deflated 100%)

ディレクトリがzip形式で圧縮されました。

$ ls -l test_dir.zip 
-rw-rw-r-- 1 tamohiko tamohiko 165020 10月 21 22:58 test_dir.zip

圧縮処理の内容について出力を行わない「-q」オプション

「-q」オプションを使用すると、圧縮状況の表示を行わないようにすることが出来ます。

下記の例では「-q」オプションを指定して「test_dir」ディレクトリを圧縮していますが、圧縮処理の状況は表示されていません。

$ zip -rq test_dir.zip test_dir/
$ ls -l test_dir.zip 
-rw-rw-r-- 1 tamohiko tamohiko 165020 10月 21 23:03 test_dir.zip

「zipinfo」zipファイルの中身を確認

圧縮されたファイルの中身は「zipinfo」コマンドを使用することで確認することが出来ます。

$ zipinfo test_dir.zip 
Archive:  test_dir.zip
Zip file size: 165020 bytes, number of entries: 7
drwx------  3.0 unx        0 bx stor 24-Oct-21 22:58 test_dir/
-rw-rw-r--  3.0 unx 10485760 bx defN 24-Oct-21 22:56 test_dir/10MB
-rw-rw-r--  3.0 unx 104857600 bx defN 24-Oct-21 22:56 test_dir/100MB
drwxrwxr-x  3.0 unx        0 bx stor 24-Oct-21 22:57 test_dir/dir_01/
-rw-rw-r--  3.0 unx 31457280 bx defN 24-Oct-21 22:57 test_dir/dir_01/30MB
-rw-rw-r--  3.0 unx 20971520 bx defN 24-Oct-21 22:57 test_dir/dir_01/20MB
-rw-rw-r--  3.0 unx  1048576 bx defN 24-Oct-21 22:56 test_dir/1MB
7 files, 168820736 bytes uncompressed, 163894 bytes compressed:  99.9%

パスワードを設定して圧縮 「-e」オプション

「-e」オプションを使用すると、zip形式で圧縮する際にパスワードを設定することができます。

圧縮する際にパスワードの入力を求められるので、設定したいパスワードを入力してください。

$ zip -e 100MB.zip 100MB 
Enter password:       # パスワードを入力
Verify password:      # パスワードを入力
  adding: 100MB (deflated 100%)

コメント

タイトルとURLをコピーしました