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

Linux基礎:コマンド練習20

コマンド練習20

 「コマンド練習20」では、6章の後半で登場したコマンドについて 学びます。ここで扱うのは fdiskmkfsmountumountdu です。これらのコマンドは、Linux システムでディスクを追加した際に行う パーティション作成、ファイルシステム構築、マウント操作、使用量確認 に不可欠です。

 シナリオとして、20GB の追加ディスク sdb が認識されており、その中に 1GB の sdb1 がすでに存在し /mnt/data にマウントされています。ここからさらに 新しいパーティションを作成し、ファイルシステムを作成してマウントする 操作を練習します。


コマンド解説

1.fdisk コマンド

ディスクのパーティションを操作するコマンド。新規パーティションの作成や削除、情報確認が可能。

書式

fdisk [デバイス名]

主な操作

コマンド説明
mヘルプを表示
p現在のパーティション一覧を表示
n新規パーティションを作成
dパーティションを削除
w変更を保存して終了

2.mkfs コマンド

新しいパーティションにファイルシステムを作成するコマンド。

書式

mkfs -t [ファイルシステムタイプ] [デバイス名]

例:

mkfs -t ext4 /dev/sdb2

3.mount コマンド

デバイスやパーティションをディレクトリにマウントするコマンド。

書式

mount [デバイス名] [マウントポイント]

4.umount コマンド

マウントされたファイルシステムを解除するコマンド。

書式

umount [デバイス名 または マウントポイント]

5.du コマンド

指定したディレクトリやファイルのディスク使用量を表示するコマンド。

書式

du [オプション] [ディレクトリ]

主なオプション

オプション説明
-h人間に読みやすい形式で表示
-s合計のみ表示
-aファイルごとのサイズも表示

練習問題 + 模範解答例

問題1

ディスク /dev/sdb に新しいパーティションを追加してください。

模範解答例

# sudo fdisk /dev/sdb
# n → p → 2 → デフォルト開始セクタ → +5G → w

[user@rocky9 ~]$ sudo fdisk /dev/sdb
[sudo] user のパスワード:

fdisk (util-linux 2.37.4) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.


コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (1 プライマリ, 0 拡張, 3 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p
パーティション番号 (2-4, 既定値 2): 2
最初のセクタ (2099200-41943039, 既定値 2099200): 
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (2099200-41943039, 既定値 41943039): +5G

新しいパーティション 2 をタイプ Linux、サイズ 5 GiB で作成しました。

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ディスクを同期しています。

問題2

作成したパーティション /dev/sdb2ext4 ファイルシステムを作成してください。

模範解答例

[user@rocky9 ~]$ sudo mkfs -t ext4 /dev/sdb2
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: baae4059-235f-4b92-b910-54d6dd616044
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

問題3

新しいマウントポイント /mnt/data2 を作成し、/dev/sdb2 をマウントしてください。

模範解答例

[user@rocky9 ~]$ sudo mkdir -p /mnt/data2
[user@rocky9 ~]$ sudo mount /dev/sdb2 /mnt/data2

問題4

/mnt/data2testfile.txt を作成し、その後アンマウントしてください。

模範解答例

[user@rocky9 ~]$ sudo touch /mnt/data2/testfile.txt
[user@rocky9 ~]$ ls /mnt/data2
lost+found  testfile.txt
[user@rocky9 ~]$ sudo umount /mnt/data2

問題5

 再び、マウントポイント /mnt/data2/dev/sdb2 をマウントして /mnt/data2 ディレクトリのディスク使用量を確認してください。

模範解答例

[user@rocky9 ~]$ sudo mount /dev/sdb2 /mnt/data2
[user@rocky9 ~]$ sudo du -sh /mnt/data2
20K	/mnt/data2

問題6

ホームディレクトリ全体のディスク使用量を MB 単位で確認してください。

模範解答例

[user@rocky9 ~]$ du -sh ~
du: '/home/user/work/dataset.tar.gz' にアクセスできません: 許可がありません
968M	/home/user

まとめ

「コマンド練習20」では、6章の後半で登場したコマンドについて 学びました。

  • fdisk で新しいパーティションを作成
  • mkfs でファイルシステムを作成
  • mount / umount でマウント・解除
  • du でディスク使用量を確認

これにより、Linux での ディスク増設から利用までの流れ を一通り実践できるようになります。