このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンド演習08

以下のコマンドの演習を行います。

実際にコマンド操作を行いながら、Linuxの操作に慣れていきましょう。

演習01:zip コマンド

・'/etc/services' ファイルをカレントディレクトリにコピーします。

$ cp /etc/services .
$ ls -l
合計 656
drwxr-xr-x. 2 user01 user01     40  1月  3 12:57 Desktop
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Documents
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Downloads
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Music
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Pictures
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Public
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Templates
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Videos
-rw-r--r--. 1 user01 user01 670293  1月  8 12:10 services

・'services' ファイルを圧縮します。

 gzipコマンドでは圧縮したいファイルのみを指定していましたが、zipコマンドでは、圧縮後のファイル名も指定する必要があります。圧縮後のファイル名には 'serivices.zip' を指定します。

$ zip services.zip services
  adding: services (deflated 80%)

・ls コマンドで作成されたファイルを確認します。

$ ls -l
合計 792
drwxr-xr-x. 2 user01 user01     40  1月  3 12:57 Desktop
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Documents
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Downloads
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Music
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Pictures
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Public
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Templates
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Videos
-rw-r--r--. 1 user01 user01 670293  1月  8 22:45 services
-rw-rw-r--. 1 user01 user01 136227  1月  8 22:45 services.zip

gzip コマンドとは異なり、元のファイルである 'services' は削除されません。

演習02:unzip コマンド

・'services.zip'ファイルを解凍します。

 圧縮前の 'services' ファイルがあるため、リプレイスするかと聞かれます。「y」を入力して上書きします。

$ unzip services.zip
Archive:  services.zip
replace services? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: services    

演習03:zipコマンド

ディレクトリを再帰的に圧縮します。

・親ディレクトリも含めたディレクトリを作成します。

 このコマンドは、'sub/sub-sub/sub-sub' のような親ディレクトリも含めた階層のディレクトリを作成します。

$ mkdir -p sub/sub-sub/sub-sub-sub

・ディレクトリを再帰的に圧縮します。

'sub' とその中身を再帰的に 'sub.zip' という名前のZIPアーカイブに圧縮します。

$ zip -r sub.zip sub
  adding: sub/ (stored 0%)
  adding: sub/sub-sub/ (stored 0%)
  adding: sub/sub-sub/sub-sub-sub/ (stored 0%)

・ファイルとディレクトリを確認します。

ディレクトリが再帰的に圧縮されていることが確認できます。

$ ls -l
合計 796
drwxr-xr-x. 2 user01 user01     40  1月  3 12:57 Desktop
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Documents
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Downloads
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Music
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Pictures
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Public
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Templates
drwxr-xr-x. 2 user01 user01      6  1月  3 12:48 Videos
-rw-r--r--. 1 user01 user01 670293  1月  8 22:45 services
-rw-rw-r--. 1 user01 user01 136227  1月  8 22:45 services.zip
drwxrwxr-x. 3 user01 user01     21  1月  8 23:26 sub
-rw-rw-r--. 1 user01 user01    486  1月  8 23:26 sub.zip

演習04:unzip コマンド

・zip アーカイブの内容をリストします。

$ unzip -l sub.zip
Archive:  sub.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-08-2024 23:26   sub/
        0  01-08-2024 23:26   sub/sub-sub/
        0  01-08-2024 23:26   sub/sub-sub/sub-sub-sub/
---------                     -------
        0                     3 files

演習終了時の作業:ファイルの削除

・この演習で作成したファイルを削除しておきます。

$ rm services
$ rm services.zip
$ rm sub.zip
$ rmdir -p sub/sub-sub/sub-sub-sub
$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos