Lpic いつも間違えるコマンド「df」と「du」

Lpic いつも間違えるコマンド「df」と「du」

Lipicの学習中次の問題が出た。

ファイルシステムの利用状況や空き容量を確認することができるコマンドは次のうちどれか。
① fdisk
② mkfs
③ ps
④ df
⑤ du

ここでいつも迷うのが、「df」もしくは「du」のいずれかのコマンド。
あれ、どっちだったかな???

こんな方にdfコマンドとduコマンドの違いについて解説します。
ちなみに、この問題の解答は「df」です。

問題文から解答を導く方法

いつも迷う、dfとdu。
dfとduがなんの略かを覚えてしまえば自ずと解答に辿り着けるかなと思います。

dfコマンドは各ファイルシステムにおいて、 すでに使用中のディスクの量と使用可能なディスクの量を表示します。

dfというコマンド名は、ディスク(Disk)の空き(Free)容量を表示するところからきています。

一方、duコマンドはファイルやディレクトリが占めている容量を表示します。

duは、disk usageの略称から来ています。ここで、usageは、「使用(法)、用法、利用(法)、使用量」といった意味があります。

問題文に「空き容量」「使用可能なディスクの量」(=空き容量と読み替える)と出てきたら、 「Free」と考えてdfと判断しましょう。

ちょっと厄介なのが、dfコマンドは、「すでに使用中のディスクの量」も表示できるところです。
これは、問題文の「利用状況」と読み替えて判断できます。

一方で、duコマンドの「ファイルやディレクトリが占めている容量」やusageの使用量の意味と
dfの「すでに使用中のディスクの量」とも同じ意味にとらえられます。

ここは気をつけてください。

問題文から「空き容量」に関する文言が出たら、dfコマンドと判断し、「空き容量」に関する文言がなく、「使用量」に重きを置いている場合は、duコマンドと判断しましょう。

dfコマンドは、あくまで空き容量に重きを置いていると思った方が良いでしょう。
実際に、dfコマンドがよく使われるのが空き容量を確認したい時などです。

これは、ファイルシステムに書き込めなくなる原因としては、
– 空き容量が不足している
– 使用できるiノードがない
といったことが挙げられるため、原因究明のためdfコマンドが使われます。