基本はdfコマンドだが

Linuxサーバは基本的にさまざまな操作をターミナルで行えるようになっている。WindowsプラットフォームのようにGUIが必須ではないというのが特徴だ。しかし、GUIに慣れたユーザーからすると、コマンドの出力はいささかシンプルすぎて直感性に欠けると感じるかもしれない。

また、サーバ管理において、ディスクストレージの空き容量の管理は重要だ。空き容量が足りなくなるとソフトウェアが正常に動作しなくなる。ストレージの空き容量は典型的にはdfというコマンドで確認できるが、GUIに慣れていると、dfコマンドの出力は多少物足りないかもしれない。

  • dfコマンドの実行サンプル

    dfコマンドの実行サンプル

そんな場合はdufコマンドを試してみるとよいだろう。It's FOSSが「Check Your Disk Usage Using 'duf' Terminal Tool in Linux」において、dufコマンドについてわかりやすい伝えており参考になる。

dufコマンド

dufコマンドはディスク使用量やディスク空き容量を出力するコマンドで、既存のdfコマンドなどと比較して次のような特徴がある。

  • 色付された出力でユーザーフレンドリー
  • 使用するターミナルの幅に合わせた出力
  • 必要に応じて結果をソートして表示
  • 出力を指定したデバイスに限定することが可能
  • 出力結果をJSONデータで取得可能

dufコマンドは出力内容がユーザーが認識しやすいように工夫しているほか、JSONデータを出力できる点が特徴。JSONの形式でデータを得ることができるため、シェルスクリプトなどを使ってモニタリングを自動化しやすいという特徴がある。

dufコマンドの実行例

It's FOSSの記事ではdufコマンドの使用例として次のような実行サンプルを取り上げている。

dufコマンド

duf
  • dufコマンドの実行サンプル

    dufコマンドの実行サンプル

dufコマンドで指定できるオプションは-helpオプションを指定することで表示させることができる。

dufコマンドで使用できるオプションを表示させる方法

duf -help
  • duf -help実行サンプル

    duf -help実行サンプル

dufに-only localを指定すると、次のようにローカルストレージに関する情報のみが出力される。

ローカルストレージに関する情報だけを出力させる方法

duf -only local
  • duf -only local実行サンプル

    duf -only local実行サンプル

dufコマンドの出力結果は、項目を指定して整列して出力させることができる。

サイズで出力を整列させて出力させる方法

duf -sort size
  • duf -sort size実行サンプル

    duf -sort size実行サンプル

ターミナルの幅を広げると、次のようにストレージの消費量がプログレスバーの形式で表示されるようになる。

  • ターミナルの幅を広げると消費量がプログレスバー表示になる

    ターミナルの幅を広げると消費量がプログレスバー表示になる

dufコマンドの出力は色分けされており、かつ、プログレスバー表示が行われるなど人間が認識しやすい形になっている。

Linux以外のプラットフォームでも使えるコマンド

dufコマンドはクロスプラットフォームという特徴があり、次のプラットフォームなどをサポートしている。

  • Windows
  • Mac
  • Linux
  • FreeBSD
  • OpenBSD
  • Android
  • dufの実行サンプル(Ubuntu)

    dufの実行サンプル(Ubuntu)

  • dufの実行サンプル(Mac)

    dufの実行サンプル(Mac)

  • dufの実行サンプル(FreeBSD)

    dufの実行サンプル(FreeBSD)

UNIX系のオペレーティングオペレーティングの多くはdfコマンドを備えているが、出力フォーマットはオペレーティングオペレーティングごとに微妙に異なっていることが多い。dufコマンドを使うと同じ出力で内容を比較することができる。

JSONデータを得る

dufコマンドは。出力結果をJSON形式で得られる点が注目に値する。従来のUNIXコマンドは標準出力へテキストデータを出力するものが多く、シェルスクリプトなどで処理を自動化しようとした場合、コマンド出力をsedやawkなどを使って自発的に加工してから使う必要があった。

dufコマンドでは-jsonオプションを指定することで出力をJSON形式のテキストデータをとして取得することができる。

出力をJSON形式のデータとして取得する方法

duf -json
  • duf -json実行サンプル

    duf -json実行サンプル

JSON形式のように決まりきった形式のデータは任意形式の出力よりもシェルスクリプトから扱いやすい(JSON形式データを処理するコマンドなどがあり、そういったツールを使って任意のデータを取得することができる)。サーバストレージの使用量を管理する方法として利用できる。

dufコマンドのインストール方法

dufコマンドに関しては次のページに情報がまとまっている。

すでにパッケージ管理システムにdufが登録されているプラットフォームではdufコマンドは簡単にインストールすることができる。

本稿執筆時点では、Ubuntuのパッケージ管理システムにはdufは登録されていない。Snap経由でインストールするか、debパッケージファイルをダウンロードしてきてdpkgコマンドを使ってインストールすることで使用することができる。