Linuxコマンドラインで作業しているときに、一連のファイルまたは完全なディレクトリのディスク使用量をすばやく知りたい場合があります。これを可能にする特定のコマンドラインツールがあり、 duと呼ばれます。 。このチュートリアルでは、このツールの基本と、わかりやすい例を使用してツールが提供する機能について説明します。
ただし、その前に、ここで説明するすべての例と手順がUbuntu16.04LTSでテストされていることを共有する価値があります。
Linuxduコマンド
duコマンドの構文は次のとおりです。
du [OPTION]... [FILE]...
そして、以下はツールのマニュアルページがそれをどのように説明しているかです:
du - estimate file space usage
Summarize disk usage of the set of FILEs, recursively for directories.
次のQ&Aタイプの例は、duがどのように機能するかについてのより良いアイデアを提供するはずです。
Q1。 duを使用して1つ以上のファイルのディスク使用量を知る方法は?
ここでは、ツールの基本的な使用法について説明していますが、これは非常に簡単です。コマンドへの入力として、対応するファイル名を渡すだけです。
du [file1] [file2] ...
次に例を示します。
したがって、出力からわかるように、最初の列に表示される数値は、対応するファイルのディスク使用量を表しています。
ディレクトリに対してもこれを行うことができます:
ディレクトリの場合、出力には、サブディレクトリと親ディレクトリ全体のディスク使用量が表示されます。
Q2。人間が読める形式でduディスプレイの使用情報を作成するにはどうすればよいですか?
デフォルトモードでduを実行する場合の問題の1つは、出力で生成された使用量の数値が、それが何を表しているのかを明確にしないことです。たとえば、前のセクションで示したスクリーンショットの出力には、「4」と「8」が何であるかは示されていません。これらはバイト、キロバイト、または何ですか?
したがって、出力を改善するために、 -hを使用できます。 コマンドラインオプション:
du -h [file1] [file2] ...
以下はその一例です:
これで、出力からディスク使用量がキロバイト単位であることが明らかになりました。
Q3。ディレクトリ内のすべてのファイルのdudisplayカウントを作成するにはどうすればよいですか?
デフォルトでは、ディレクトリ名を入力としてduに渡すと、ツールは入力ディレクトリとサブディレクトリ(存在する場合)の使用状況に関連する情報のみを表示します。
ただし、すべてのファイルのディスク使用量情報も個別に表示する必要がある場合は、 -aを使用してこれを行うことができます。 コマンドラインオプション。このオプションの例を次に示します。
Q4。 duに総使用量を生成させる方法は?
これは、 -cを使用して実行できます コマンドラインオプション。例:
上のスクリーンショットから明らかなように、出力の下部に新しい行が追加され、ディスク使用量の総計が示されます。
Q5。ブロックの使用ではなく、duにiノード情報を表示させる方法は?
このためには、-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に特定の種類のファイルを除外させる方法は?
ディレクトリに複数の種類のファイルが含まれていて、ディレクトリのディスク使用量を計算するときに、duコマンドにそれらの1つ以上のファイルを含めないようにしたいとします。これは、-除外を使用して行うことができます オプション。入力としてパターンが必要です。
du --exclude=PATTERN [Dir-name]
たとえば、次のスクリーンショットは、.pngファイルに対して実行されている上記のコマンドを示しています。
Q10。 duのディレクトリ深度を定義するにはどうすればよいですか?
必要に応じて、duコマンドを特定のディレクトリの深さに制限することもできます。このように、ツールは、ユーザーが指定したレベルまで、検出したディレクトリの使用状況情報のみを出力します。この機能には、-max-depthを使用してアクセスできます オプション。
したがって、duを最上位ディレクトリに制限する場合は、このオプションの値として「0」を渡します。
du --max-depth=0 [dir-name]
このオプションの例を次に示します。
duは、状況に応じて役立つ可能性のある便利な小さなコマンドラインツールです。さらに、理解して使用することは難しくありません。ここでは、いくつかの基本的なコマンドラインオプションについて説明しました。詳細については、ツールのマニュアルページにアクセスしてください。