このページで解説している内容は、以下の 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