どーも!marusukeです!
この記事では、Linuxでディスクの使用状況やデバイス情報を確認するための主要コマンドをまとめて解説します。
この記事で分かることは次のとおりです。
- ファイルシステム単位のディスク使用状況を確認するコマンド(df)
- ファイル・ディレクトリ単位の使用容量を確認するコマンド(du)
- 認識されているデバイス情報を確認するコマンド(lsdev)
- ディスクの健康状態(故障予兆)を確認するコマンド(smartctl)
- それぞれの使い分けと注意点
ディスク使用状況・デバイス情報系コマンドの全体像
これらのコマンドは、大きく3つの目的に分かれます。
| 目的 | コマンド | 役割 |
|---|---|---|
| 容量確認(ファイルシステム単位) | df | どのディスク/パーティションがどれだけ使われているかを確認 |
| 容量確認(ファイル・ディレクトリ単位) | du | どのファイルやディレクトリが容量を使っているかを確認 |
| デバイス確認 | lsdev | 認識されているハードウェア(CPU・メモリ・ディスクなど)の情報を確認 |
| 健康状態確認 | smartctl | HDD/SSDの故障予兆・劣化状況を確認 |
「ディスク容量が足りない」というトラブルでは、まずdfで全体を確認し、duで原因のディレクトリを特定する、という流れがよく使われます。ハードウェア構成や故障予兆を調べたい場合はlsdevやsmartctlを使います。
ファイルシステム単位の使用状況:df
df [オプション] [ファイル]
dfコマンドは、ファイルシステムのディスク使用状況を確認するコマンドです。「どのディスクがどれだけ使われているか」「空き容量はどれくらいあるか」を確認できます。Linuxサーバーの運用やトラブルシューティングで、ディスク容量不足の確認によく使われます。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 28G 42% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sdb1 100G 70G 26G 73% /data
-hオプションで人間に読みやすい単位(GB/MB)で表示しています。
dfの主なオプション
| オプション | 説明 |
|---|---|
-h | 容量を人間が読みやすい形式(GB・MBなど)で表示 |
-H | -hと似ているが、単位に1000の倍数を使用(例:1KB=1000B) |
-T | 各ファイルシステムの種類も表示 |
-a | マウントされていないファイルシステムも含めてすべて表示 |
--total | 最後に合計の使用量を表示 |
-i | ディスク容量ではなくinode(ファイル数の上限)の使用状況を表示 |
💡 inodeとは、ファイルシステムでファイルごとに管理される情報の単位です。inodeが不足すると、ディスク容量に余裕があっても新しいファイルが作れなくなります。
df -iで確認できます。
詳しくはdfコマンドの記事を参照してください。
ファイル・ディレクトリ単位の使用容量:du
du [オプション] [ファイルまたはディレクトリ]
duコマンドは、ファイルやディレクトリが使用しているディスク容量(サイズ)を表示するコマンドです。dfで容量不足が分かったあと、「どのディレクトリが容量を使っているか」を特定するために使います。
du -h /home/user
4.0K /home/user/Downloads
8.0K /home/user/Documents
12K /home/user
duの主なオプション
| オプション | 説明 |
|---|---|
-h | サイズを人間が読みやすい単位(K/M/G)で表示 |
-s | 各ディレクトリの合計サイズのみを表示 |
-a | ディレクトリだけでなくファイルごとのサイズも表示 |
-c | 合計サイズも最後に表示 |
--max-depth=N | 表示するディレクトリの階層の深さを制限 |
初心者にもおすすめの組み合わせは次の通りです。
du -h --max-depth=1
指定したディレクトリの1階層下のフォルダサイズが分かりやすく表示されます。
詳しくはduコマンドの記事を参照してください。
デバイス情報の確認:lsdev
lsdev [オプション]
lsdevコマンドは、Linuxで認識されているデバイス情報(CPU・メモリ・ディスク・シリアルポート・ネットワークデバイスなど)を一覧表示するコマンドです。ハードウェア構成の確認やデバイスが正しく認識されているかの調査に使われます。
$ lsdev
Device DMA IRQ I/O Ports
--------------------------------------
timer 0
keyboard 1 0x060-0x06f
serial 4 0x3f8-0x3ff
ide0 14 0x1f0-0x1f7
lsdevは内部的に/proc/interrupts・/proc/dma・/proc/ioportsの情報を読み取り、見やすくまとめて表示しています。
lsdevの主なオプション
| オプション | 説明 |
|---|---|
-d | DMA情報を表示 |
-i | IRQ情報を表示 |
-p | I/Oポート情報を表示 |
-C | 指定クラスのデバイスを表示 |
-h | ヘルプを表示 |
⚠ 最近のLinuxディストリビューションでは
lsdevが標準インストールされていないことも多く、代わりにlspci(PCIデバイス)、lsusb(USBデバイス)、lsblk(ディスク・パーティション)、lshw(詳細ハードウェア情報)が使われるのが一般的です。
詳しくはlsdevコマンドの記事を参照してください。
ディスクの健康状態:smartctl
smartctl [オプション] デバイス名
smartctlは、HDDやSSDの健康状態を確認するコマンドです。ディスクに内蔵されているS.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)情報を取得し、故障予兆をチェックできます。ディスクの寿命・劣化状況、不良セクタの有無、温度、自己診断テストの実行などが可能です。
💡 S.M.A.R.TはLinuxの機能ではなく、HDD/SSD側に内蔵された自己診断機能です。
smartctlはその情報を読み取るツールです。
# 詳細情報の確認
$ sudo smartctl -a /dev/sda
# 簡易健康チェック
$ sudo smartctl -H /dev/sda
SMART overall-health self-assessment test result: PASSED
smartctlの主なオプション
| オプション | 説明 |
|---|---|
-a | すべてのSMART情報を表示 |
-H | 健康状態の概要を表示 |
-i | デバイス情報を表示 |
-t short | 短時間の自己診断テストを実行 |
-t long | 詳細な自己診断テストを実行 |
-l selftest | テスト結果の履歴を表示 |
多くの環境では標準インストールされていないため、別途パッケージの導入が必要です。
# Debian/Ubuntu系
sudo apt install smartmontools
# RHEL/CentOS/Rocky Linux
sudo dnf install smartmontools
💡 ディスクは突然壊れることもありますが、多くの場合は劣化の兆候があります。
smartctlを定期的に実行(cronなどで自動化)することで、事前に異常を検知し、データ消失を防ぐことができます。
詳しくはsmartctlコマンドの記事を参照してください。
コマンド比較表
| コマンド | 確認対象 | 主な用途 | 標準インストール |
|---|---|---|---|
df | ファイルシステム | ディスク全体の空き容量・使用率の確認 | 標準 |
du | ファイル・ディレクトリ | 容量を使っている場所の特定 | 標準 |
lsdev | デバイス(IRQ/DMA/I/O) | ハードウェア認識状況の確認 | 環境により未収録 |
smartctl | HDD/SSD本体 | 故障予兆・健康状態の確認 | 別途インストールが必要 |
典型的な使用フロー
df -hでディスク全体の使用率・空き容量を確認する- 容量不足が見つかったら、対象パーティション配下で
du -h --max-depth=1を実行し、容量を使っているディレクトリを特定する - 必要に応じて
df -iでinode不足も確認する - デバイスが正しく認識されているか確認したい場合は
lsdev(またはlspci・lsusb・lsblk)を使う - ディスク自体の故障予兆が気になる場合は
smartctl -Hで簡易チェック、必要なら-aで詳細確認する - 重要なディスクは
smartctlを定期実行(cron等)し、異常の早期発見につなげる
まとめ
ディスク使用状況・デバイス情報系コマンドは、「容量確認(df・du)」と「デバイス・健康状態確認(lsdev・smartctl)」に分けて理解すると整理しやすくなります。容量不足のトラブルはdf→duの流れで原因を特定し、ハードウェアの異常はlsdevやsmartctlで早期に発見しましょう。
以上です!
ここまで読んでいただきありがとうございました!

コメント