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%)
コメント