早速ですが、質問です。 ドライブにどれくらいの空き容量が残っていますか。 少しですか、それともたくさんですか? 続いての質問です。 それを知る方法をご存知ですか? GUI デスクトップ (例: GNOME、KDE、Mate、Pantheon など) を使用している場合、このタスクはおそらく非常に簡単です。 しかし、GUIのないヘッドレスサーバーを見ている場合はどうでしょうか? そのタスクのためにツールをインストールする必要があるでしょうか? 答えは「ノー」です。 ドライブにどれだけのスペースが残っているかを正確に知るために必要なビットはすべてすでに用意されているのです。 実際、非常に使いやすい2つのオプションが用意されています。
この記事では、これらのツールのデモを行います。 GUI オプションもある Elementary OS を使用しますが、ここではコマンド ラインに限定して説明します。 良い知らせは、これらのコマンドライン・ツールはすべての Linux ディストリビューションで容易に利用できるということです。 私のテストシステムでは、いくつかのドライブが接続されています(内蔵と外付けの両方)。 使用されるコマンドは、ドライブがどこに接続されているかには関係なく、ドライブがマウントされ、オペレーティング システムから見えていることだけを気にしています。 使い方もレポートも非常にシンプルです。 今日に至るまで、dfはこのタスクのための私の常用コマンドです。 このコマンドにはいくつかのスイッチがありますが、基本的なレポート作成に必要なのは1つだけです。 そのコマンドとは、df -Hです。 Hスイッチは、人間が読める形式にするためのものです。 df -Hの出力は、どのくらいのスペースが使用されているか、使用可能か、使用率、システムに接続されているすべてのディスクのマウントポイントを報告します (図1)。 dfを使えば、それは可能です。 dev/sda1にあるプライマリ・ドライブで、どれだけのスペースが使われているかを見てみましょう。 7815>
また、df の出力で示される報告フィールドを制限することができます。 利用可能なフィールドは以下のとおりです。
-
source – ファイル システム ソース
-
size – ブロックの合計数
-
used – ドライブで使用される間隔
-
avail – ドライブで使用できるスペース
-
pcent – 使用スペースのパーセンテージ。 divided by total size
-
target – ドライブのマウント ポイント
すべてのドライブの出力を、サイズ、使用、および使用状況 (または可用性) フィールドだけを表示してみましょう。 このコマンドは次のようになります:
df -H --output=size,used,avail
このコマンドの出力は非常に読みやすくなっています (図3)。
ここでの唯一の注意点は、出力のソースがわからないことです。したがって、次のようにソースを含めたいと思います:
df -H --output=source,size,used,avail
これで、出力がより意味をなすようになりました (図 4)。
du
次のコマンドはduです。 ご想像のとおり、これはディスク使用量の略です。 duコマンドは、ドライブではなくディレクトリについて報告するという点で、dfコマンドとはかなり異なっています。 このため、チェックするディレクトリの名前を知っておくとよいでしょう。 例えば、私のマシンに仮想マシンのファイルを含むディレクトリがあるとします。 そのディレクトリは、/media/jack/HALEY/VIRTUALBOXです。 その特定のディレクトリで使用されている容量を調べたい場合、次のコマンドを実行します:
du -h /media/jack/HALEY/VIRTUALBOX
上記のコマンドの出力には、ディレクトリ内の各ファイルのサイズが表示されます(図5)。
ここまでは、このコマンドがすべて役に立つというわけではありません。 特定のディレクトリの総使用量を知りたい場合はどうすればよいのでしょうか。 幸いなことに、du はそのタスクを処理することができます。 同じディレクトリで、コマンドは次のようになります:
du -sh /media/jack/HALEY/VIRTUALBOX/
これで、そのディレクトリでファイルがどのくらいの合計スペースを使用しているかわかります (図 6)。
また、このコマンドを使用して、次のように親のすべての子ディレクトリで使用されているスペースを確認することもできます:
du -h /media/jack/HALEY
このコマンドの出力(図 7)は、ドライブ上のスペースを占有するサブディレクトリを確認する良い方法となります。
du コマンドは、システムで最もディスクスペースを使用しているディレクトリのリストを確認するために使用するには優れたツールでもある。 この方法は、du の出力を他の 2 つのコマンド、sort と head にパイプすることである。 ドライブ上でスペースを食っている上位10個のディレクトリを見つけるコマンドは次のようになります:
du -a /media/jack | sort -n -r | head -n 10
出力はこれらのディレクトリを大きいものから小さいものの順にリストアップします (図8)。
Not as hard as you thought
Linux に接続したドライブ上で使用されているスペースを調べることは非常に簡単です。 ドライブが Linux システムにマウントされている限り、df と du の両方が必要な情報を報告する素晴らしい仕事をします。 df を使えば、ディスクでどれだけのスペースが使われているかの概要を素早く見ることができ、du を使えば、特定のディレクトリでどれだけのスペースが使われているかを知ることができます。 この2つのツールの組み合わせは、すべてのLinux管理者が知っておくべきことだと思います。
そして、念のため、Linux でのメモリ使用量を決定する方法を最近紹介しました。
これらのヒントは、Linux サーバーをうまく管理するために大いに役立つことでしょう。