このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:コマンド練習04

コマンド練習04
「コマンド練習04」では 3章の前半で登場した主要コマンドについて 練習問題を通して学びます。ここで取り扱うコマンドは、ディスク容量を扱うコマンド(dd、fallocate、truncate)と、ファイルの圧縮・解凍を行うコマンド(gzip、gunzip、zip、unzip)です。これらはシステム管理やデータ処理で頻繁に利用されるものであり、ファイルサイズの調整やアーカイブ操作の理解に役立ちます。
ここでは、コマンドの機能を 表や図 を用いて整理し、さらに 「練習+模範解答例」 を提示します。特に問題の前半では、練習用の圧縮ファイルを自作してから操作を行う流れを体験できるように構成しました。

コマンド解説
1.dd コマンド(データコピー&ファイル作成)
指定サイズのファイルを作成したり、ディスクイメージをコピーする。
| オプション | 説明 | 使用例 |
|---|---|---|
| if= | 入力ファイル | dd if=/dev/zero of=dummy.img bs=1M count=5 |
| of= | 出力ファイル | |
| bs= | ブロックサイズ | |
| count= | ブロック数 |
実行イメージ
/dev/zero → dummy.img(5MBの空ファイル生成)2.fallocate コマンド(指定サイズのファイル確保)
ディスク上に指定したサイズの空ファイルを効率的に作成。
| 使用例 | 説明 |
|---|---|
fallocate -l 10M empty1.dat | 10MB のファイル作成 |
3.truncate コマンド(ファイルサイズ変更)
既存ファイルのサイズを変更する。
| 使用例 | 説明 |
|---|---|
truncate -s 1M empty1.dat | ファイルサイズを 1MB に縮小 |
truncate -s 20M empty1.dat | ファイルサイズを 20MB に拡張 |
4.gzip コマンド(圧縮)
ファイルを圧縮し、.gz 拡張子をつける。
| 使用例 | 説明 |
|---|---|
gzip sample.txt | sample.txt.gz を生成 |
gzip -c sample.txt > sample_copy.gz | 元ファイルを残して圧縮 |
5.gunzip コマンド(解凍)
.gz ファイルを解凍する。
| 使用例 | 説明 |
|---|---|
gunzip sample.txt.gz | sample.txt に解凍 |
6.zip コマンド(ZIP形式で圧縮)
複数ファイルをまとめて圧縮。
| 使用例 | 説明 |
|---|---|
zip archive.zip file1 file2 | 2つのファイルを ZIP にまとめる |
zip -r backup.zip dir1 | ディレクトリごと圧縮 |
7.unzip コマンド(ZIP形式の解凍)
ZIPファイルを解凍。
| 使用例 | 説明 |
|---|---|
unzip archive.zip | カレントディレクトリに展開 |
unzip archive.zip -d output_dir | 特定ディレクトリに展開 |
練習問題 + 模範解答例
問題1(準備)
サイズ 5MB の空ファイル dummy.img を作成してください。
模範解答例
[user@rocky9 ~]$ dd if=/dev/zero of=dummy.img bs=1M count=5
5+0 レコード入力
5+0 レコード出力
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.00444291 s, 1.2 GB/s問題2(準備)
サイズ 10MB のファイル empty1.dat を作成してください。
模範解答例
[user@rocky9 ~]$ fallocate -l 10M empty1.dat
[user@rocky9 ~]$ ls -lh empty1.dat
-rw-r--r--. 1 user user 10M 8月 29 23:36 empty1.dat問題3
empty1.dat のサイズを 2MB に縮小してください。
模範解答例
[user@rocky9 ~]$ truncate -s 2M empty1.dat
[user@rocky9 ~]$ ls -lh empty1.dat
-rw-r--r--. 1 user user 2.0M 8月 29 23:36 empty1.dat問題4
テキストファイル memo.txt を作成し、それを gzip 形式で圧縮してください。
模範解答例
[user@rocky9 ~]$ echo "This is a practice memo file" > memo.txt
[user@rocky9 ~]$ gzip memo.txt問題5
圧縮された memo.txt.gz を解凍してください。
模範解答例
[user@rocky9 ~]$ gunzip memo.txt.gz問題6
log1.txt と log2.txt を作成し、それらを logs.zip にまとめて圧縮してください。
模範解答例
[user@rocky9 ~]$ echo "Log File 1" > log1.txt
[user@rocky9 ~]$ echo "Log File 2" > log2.txt
[user@rocky9 ~]$ zip logs.zip log1.txt log2.txt
adding: log1.txt (stored 0%)
adding: log2.txt (stored 0%)問題7
作成した logs.zip を解凍してください。
模範解答例
[user@rocky9 ~]$ unzip logs.zip
Archive: logs.zip
replace log1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: log1.txt
replace log2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: log2.txt 問題8
images ディレクトリ全体を ZIP 圧縮して images_backup.zip を作成してください。
模範解答例
[user@rocky9 ~]$ zip -r images_backup.zip images
adding: images/ (stored 0%)
adding: images/dragon.jpg (deflated 0%)問題9
dummy.img を gzip で圧縮し、元のファイルを残したまま dummy.img.gz を作成してください。
模範解答例
[user@rocky9 ~]$ gzip -c dummy.img > dummy.img.gzまとめ
「コマンド練習04」では、3章の前半で登場した主要コマンド を対象に、ディスク容量を扱うコマンドと圧縮・解凍コマンドを実践しました。前半では dd、fallocate、truncate を使ってファイルを生成・調整する方法を学び、後半では gzip、gunzip、zip、unzip を使って圧縮・解凍を体験しました。
実際にファイルを作成し操作する流れを通じて、Linux におけるファイル管理スキルを確実に習得できます。
