Linux, コマンド · 1 min read · Sep 20, 2025

初心者のためのLinux duコマンドチュートリアル(10の例)

時々、Linuxコマンドラインで作業していると、特定のファイルのディスク使用量や完全なディレクトリのディスク使用量をすぐに知りたいと思うことがあります。これを行うための特定のコマンドラインツールがあり、それはduと呼ばれています。このチュートリアルでは、このツールの基本と、理解しやすい例を使って提供される機能について説明します。

しかしその前に、ここで言及されているすべての例と指示は、Ubuntu 16.04 LTSでテストされていることを共有する価値があります。

Linux duコマンド

以下がduコマンドの構文です:

du [OPTION]... [FILE]...

次に、このツールのmanページがそれをどのように説明しているかを示します:

du - ファイルスペース使用量を推定する

FILEのセットのディスク使用量を要約し、ディレクトリについては再帰的に行います。

以下のQ&A形式の例は、duがどのように機能するかをよりよく理解するのに役立つはずです。

Q1. duを使用して1つまたは複数のファイルのディスク使用量を知るには?

ここではツールの基本的な使用法について話しており、とても簡単です。コマンドに対応するファイル名を入力として渡すだけです。

du [file1] [file2] ...

以下はその例です:

出力に表示されているように、最初の列に表示される数字は対応するファイルのディスク使用量を表しています。

ディレクトリについてもこれを行うことができます:

ディレクトリの場合、出力はサブディレクトリと親ディレクトリ全体のディスク使用量を示します。

Q2. duが人間に読みやすい形式で使用情報を表示するようにするには?

duをデフォルトモードで実行するときの1つの問題は、出力で生成される使用量の数値が何を表しているのか明確でないことです。たとえば、前のセクションに示されたスクリーンショットの出力では、「4」と「8」が何であるかは示されていません - バイト、キロバイト、または何ですか?

したがって、出力を改善するために、-hコマンドラインオプションを使用できます:

du -h [file1] [file2] ...

以下はその例です:

出力から、ディスク使用量がキロバイトであることが明確です。

Q3. duがディレクトリ内のすべてのファイルのカウントを表示するようにするには?

デフォルトでは、ディレクトリ名をduに入力として渡すと、ツールは入力ディレクトリとサブディレクトリ(ある場合)の使用関連情報のみを表示します。

しかし、すべてのファイルのディスク使用情報を別々に表示する必要がある場合は、-aコマンドラインオプションを使用してこれを行うことができます。以下はこのオプションの例です:

ディレクトリ内のすべてのファイルのカウントを表示するようにduを設定する - パート2

Q4. duが使用量の合計を生成するようにするには?

これは-cコマンドラインオプションを使用して行うことができます。たとえば:

上のスクリーンショットから明らかなように、出力の下部に新しい行が追加され、ディスク使用量の合計が表示されます。

Q5. duがブロック使用量の代わりにinode情報を表示するようにするには?

これには、–inodeオプションを使用する必要があります。以下はこのオプションが機能しているスクリーンショットです:

Q6. duがファイルまたはSTDINから入力を受け入れるようにするには?

これは–files0-fromコマンドラインオプションを使用して行うことができます。入力ファイル名がinp_listというファイルに書かれていると仮定すると、次のようにduコマンドを使用できます:

du --files0-from=inp_list

たとえば、以下はこのオプションが機能している例です:

入力ファイル(上記のinp_listの場合)に入力する名前はNULで終了する必要があることに注意してください。たとえば、私たちのinp_listファイルには以下の内容が含まれていました:

これをVimを通じて行いました。Vimを通じてこれを行う方法を知りたい場合は、こちらに進んでください。

次に、duがSTDINから入力を受け入れるようにすることもできます。これには、–files0-fromオプションにハイフン(-)を値として渡す必要があります。この場合、各ファイル名をSTDINに入力した後、Ctrl+dを2回押す必要があります。

Q7. duが親ディレクトリのサイズからサブディレクトリのサイズを除外するようにするには?

上記のQ1の最後で、duを使用してディレクトリのディスク使用量を表示する方法について説明しました。出力は、サブディレクトリのサイズが別々に表示される一方で、親ディレクトリ(入力として渡されたもの)のエントリはすべての合計サイズを示すことを明らかにしました。

親のサイズ - サブディレクトリのサイズを最後のエントリに表示するようにduを設定したい場合は、-Sコマンドラインオプションを使用できます。

Q8. duが出力に最終修正時間を表示するようにするには?

これには、–timeコマンドラインオプションを使用します。以下はその例です:

Q9. duが特定のタイプのファイルを除外するようにするには?

ディレクトリに複数のタイプのファイルが含まれており、ディレクトリのディスク使用量を計算する際に1つまたは複数のファイルを含めたくない場合は、–excludeオプションを使用してこれを行うことができます。このオプションにはパターンを入力として要求します。

du --exclude=PATTERN [Dir-name]

たとえば、以下のスクリーンショットは.pngファイルに対して上記のコマンドが機能している様子を示しています。

Q10. duのディレクトリ深度を定義するには?

必要に応じて、duコマンドを特定のディレクトリ深度に制限することもできます。このようにして、ツールはユーザーが指定したレベルまで遭遇したディレクトリの使用情報のみを印刷します。この機能は–max-depthオプションを使用してアクセスできます。

したがって、duをトップレベルディレクトリに制限したい場合は、このオプションに値として「0」を渡します。

du --max-depth=0 [dir-name]

以下はこのオプションのいくつかの例です:

duのディレクトリ深度を定義する

結論

duは、さまざまな状況であなたを助ける便利なコマンドラインツールです。さらに、理解して使用するのは難しくありません。ここではいくつかの基本的なコマンドラインオプションについて説明しました。詳細については、ツールのmanページに進んでください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。