Du は Disk Usage の略です。
Linux の du コマンドは、ディスクの使用状況をファイル サイズで要約するために使用されます。フォルダーで使用して、ディスクの合計使用量を取得できます。この記事では、du コマンドを効果的に使用する方法の例をいくつか紹介します。
ここに示す du の例はすべて、次の内容を含むディレクトリで実行されます:
$ ls linuxKernel redhat testfile.txt ubuntu
1.基本的な例
$ du -a 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 .
上記の例で -a フラグを使用して、すべてのファイルとディレクトリのディスク使用量を表示しました。 -a が使用されていない場合、一部のディスクを占有しているディレクトリのみがリストされるためです。例:
$ du 4 ./redhat 4 ./ubuntu 16 .
これで、du コマンドの使用方法に関する基本的なアイデアが得られましたが、私と同じように、出力の数字が何を意味するのかを理解するのは難しいと感じる人もいるでしょう??
次の例に移りましょう。オフ。
2. -h を使用して人間が読める形式で出力を表示します
$ du -ah 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K .
上記の例では、-h フラグを -a フラグと一緒に使用したことがわかります。 -h フラグは、人間が読める形式で出力を取得するために使用されます。上記の出力は、ディスク使用量が「K」で表示されているため、より理解しやすいことがわかります。
3. -c を使用して出力に総計を表示します
私が使用している例には、小さなディレクトリ構造があります。手動で計算することにより、ディレクトリの合計ディスク使用量を簡単に計算できます。しかし、リアルタイムのシナリオでは手動計算は実用的ではありません。そのため、出力で合計使用量を取得できるフラグが存在します。
$ du -ahc 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K . 16K total
したがって、-c フラグを使用すると、出力で合計使用量を取得できることがわかります。
4. -s を使用して合計数のみを表示
概要の形式で合計サイズのみを取得する場合は、-s フラグを使用してください。
$ du -sh 7.3G .
したがって、上記の出力には合計サイズのみが表示されていることがわかります。
5. 「–files0-from=-」を使用して stdin から入力ファイルをフィードします
外出先で「du」入力を提供したい状況が発生した場合、これは「–files0-from」フラグを介して可能です。
$ du -ah --files0-from=- copy12K copy file12K file helloWorld12K helloWorld ^C $
標準入力からのファイル名の受け入れを開始するように「du」を示すために、値を「-」としてフラグ「–files0-from」に渡したことに注意してください。各ファイル名を入力したら、ctrl+D を 2 回押して、そのファイルの出力を生成します。
6. -0 を使用して null バイトで出力を終了します
改行なしでヌルバイトで終わる各出力を生成したい場合は、-0 フラグを使用してください。
$ du -am -0 0 ./redhat/rh71 ./redhat1 ./testfile.txt0 ./linuxKernel0 ./ubuntu/ub101 ./ubuntu1
したがって、各出力が 0 バイトで終了しているため、上記の出力は 1 行で生成されていることがわかります。
7. –block-size で出力のブロック サイズをカスタマイズ
ブロックサイズについて言えば、別の方法で出力する必要がある場合があります。例:
$ du -ac 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . 16 total
上記の出力は、1024 バイト ブロックの数で表されます。ここで、出力を 2048 バイトのブロック数にする必要があるとします。この場合、フラグ「–block-size」を使用できます。
$ du -ahc --block-size=2048 0 ./redhat/rh7 2 ./redhat 2 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 2 ./ubuntu 8 . 8 total
したがって、上記の出力は 2048 バイト ブロックの数の形式であることがわかります。
8. -b を使用して出力をバイト単位で表示
出力をバイト単位で取得するには、-b フラグを使用できます。
$ du -achb 0 ./redhat/rh7 4096 ./redhat 3 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4096 ./ubuntu 12291 . 12291 total
したがって、上記の出力はバイト単位であることがわかります。
9. –exclude を使用して特定の種類のファイルを除外する
.txt ファイルの統計を取得したくないとします。したがって、これらのタイプの要件には「–exclude」フラグがあります。
$ du -cbha --exclude="*.txt" 0 ./redhat/rh7 4.0K ./redhat 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 12K . 12K total
したがって、上記の出力では、テキスト ファイルのエントリが存在しないことがわかります。
10.変更時刻を表示し、表示スタイルをカスタマイズします
これは、–time および –time-style フラグによって実現できます。
$ du -cbha --time 0 2012-05-22 21:52 ./redhat/rh7 4.0K 2012-05-22 21:52 ./redhat 3 2012-06-18 19:23 ./testfile.txt 0 2012-05-22 21:52 ./linuxKernel 0 2012-05-22 21:52 ./ubuntu/ub10 4.0K 2012-05-22 21:52 ./ubuntu 13K 2012-06-18 19:23 . 13K 2012-06-18 19:23 total
$ du -cbha --time --time-style=iso 0 2012-05-22 ./redhat/rh7 4.0K 2012-05-22 ./redhat 3 2012-06-18 ./testfile.txt 0 2012-05-22 ./linuxKernel 0 2012-05-22 ./ubuntu/ub10 4.0K 2012-05-22 ./ubuntu 13K 2012-06-18 . 13K 2012-06-18 total
–time-style には、full-iso、long-iso、iso も使用できます。