dfコマンドでディスク使用量を確認する方法

先生

システム管理者は必見!dfコマンドでディスク使用量をスマートに把握し、トラブルシューティングを効率化しましょう。

dfコマンドとは?ディスク使用量を確認する基本

LinuxやmacOSなどのUnix系OSで、ディスクの使用状況を確認するために使用されるコマンドがdfコマンドです。dfはdisk freeの略で、ファイルシステム全体のディスクスペースの使用量、空き容量、マウントポイントなどを表示します。システム管理や日々の運用において、ディスク容量を把握するために非常に重要なツールです。

ディスク容量が逼迫すると、システムの動作が不安定になったり、データが保存できなくなったりする可能性があります。dfコマンドを定期的に実行し、ディスク容量を監視することで、このような問題を未然に防ぐことができます。

dfコマンドの基本的な使い方

dfコマンドは、オプションを指定せずに実行すると、すべてのマウントされたファイルシステムのディスク使用量が表示されます。

df

このコマンドを実行すると、以下のような出力が得られます。


Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/disk1s1     4881536 2865920 1977344  59% /
devfs              183       183         0 100% /dev
/dev/disk1s4     4881536    34816   1000000   4% /System/Volumes/VM
/dev/disk1s2     4881536 4294967295         0 100% /System/Volumes/Preboot
/dev/disk1s3     4881536      496     2048  1% /System/Volumes/Update
/dev/disk1s5     4881536   114688   1933824   6% /System/Volumes/Data
/dev/disk1s1     4881536 2865920 1977344  59% /Volumes/Recovery

各列の意味は以下の通りです。

Filesystem: ファイルシステム名

1K-blocks: ファイルシステムの合計サイズ(1Kバイト単位)

Used: 使用済みの容量

Available: 利用可能な空き容量

Use%: 使用率

Mounted on: マウントポイント

dfコマンドの便利なオプション

dfコマンドには、様々なオプションがあり、表示形式をカスタマイズしたり、特定のファイルシステムの情報のみを表示したりすることができます。

-hオプション: 人間が読みやすい形式で表示(K, M, Gなどの単位を使用)

df -h

-Tオプション: ファイルシステムタイプを表示

df -T

-iオプション: inodeの使用状況を表示

df -i

-lオプション: ローカルファイルシステムのみを表示

df -l

-aオプション: すべてのファイルシステムを表示(サイズが0のものも含む)

df -a

特定のファイルシステムのみを表示するには、ファイルシステム名を指定します。

df /dev/sda1

Pythonでdfコマンドの結果を取得・解析する

Pythonのsubprocessモジュールを使用すると、dfコマンドを実行し、その結果をプログラム内で処理することができます。


import subprocess

def get_disk_usage():
    result = subprocess.run(['df', '-h'], capture_output=True, text=True)
    output_lines = result.stdout.splitlines()
    disk_info = []
    for line in output_lines[1:]:
        parts = line.split()
        disk_info.append({
            'filesystem': parts[0],
            'size': parts[1],
            'used': parts[2],
            'available': parts[3],
            'use_percent': parts[4],
            'mounted_on': parts[5]
        })
    return disk_info

if __name__ == '__main__':
    disk_usage = get_disk_usage()
    for disk in disk_usage:
        print(f"Filesystem: {disk['filesystem']}, Used: {disk['used']}, Available: {disk['available']}, Mounted on: {disk['mounted_on']}")

上記のコードは、df -hコマンドを実行し、その結果を解析して、各ファイルシステムの使用状況を辞書形式で格納し、表示します。capture_output=Truetext=Trueによって、コマンドの標準出力が文字列として取得できます。

この方法を用いることで、ディスク使用量を監視するスクリプトや、ディスク容量に応じて処理を分岐させるプログラムを作成することができます。

参考リンク

まとめ

dfコマンドは、ディスク使用量を把握するための強力なツールです。基本的な使い方から、オプション、Pythonでの利用方法までを解説しました。ディスク容量を定期的にチェックし、快適なシステム運用を目指しましょう。