Linuxで最も便利なdu(ディスク使用量)コマンド
duは、Linuxに付属のコマンドラインツールで、ディレクトリとファイルによって使用されているディスク容量を報告します。 「ディスク使用量」の略で、duはコマンドラインでディスクスペースを分析するための主要なツールです。
基本的な使用法
du /path/to/directory
du
を実行します ディレクトリを指定してコマンドを実行し、各ディレクトリが占めるディスク容量の完全な分析を確認します。各ディレクトリは標準出力で順番に一覧表示されるため、大きなディレクトリまたは完全なシステムスキャンでは、数万行が生成され、かなりの時間がかかる場合があります。その結果、基本的なduコマンドは、通常、以下に示すフラグで補完されます。これらのフラグはどれも他のフラグと組み合わせることができますが、いくつかの組み合わせは矛盾しているために互いに排除します。
出力の制御
du -c
スキャンされるディレクトリによって使用されるディスク容量の合計を示すために、du出力の下部に線が表示されます。
du -s
指定されたディレクトリで使用されている合計ディスク容量の概要のみを表示します。要約が計算されるまで、出力は表示されません。
du > du-report.txt
コマンドラインのプロはこのコマンドを認識しますが、全員がプロであるとは限りません。これにより、コマンドの結果が「du-report.txt」という名前の現在の作業ディレクトリにあるテキストファイルに出力されます。
du | less
表示をテキストの少ないエディタにパイプし、ナビゲーションショートカットを減らしてスキミングできる、読みやすい結果を作成します。
サイズ表示の変更
ファイルサイズは通常、特定のユニットが宣言されたときに丸められることに注意してください。たとえば、-m
の場合、4KBのファイルはゼロメガバイトを占めると表示されます。 フラグが呼び出され、750KBのファイルは1MBとして表示されます。
du -h
標準のブロックサイズではなく、キロバイト、メガバイト、ギガバイトなどの適切なサイズがリストされた「人間が読める」形式で表示します。
du -k
ブロック数を1024バイト(1キロバイト)ブロックで表示します。
du -m
ブロック数を1,048,576バイト(1メガバイト)ブロックで表示します。
du -g
ブロック数を1,073,741,824バイト(1ギガバイト)ブロックで表示します。
ファイルとリンクを含む
du -L
コマンドラインおよびファイル階層のシンボリックリンクをたどる(または「逆参照する」)。それ以外の場合は、シンボリックリンクが指すディレクトリツリーではなく、シンボリックリンク自体が占めるスペース(通常はファイルシステムの最小値)が報告されます。
du -a
ディレクトリだけでなく、すべてのファイルのディスク使用量を表示します。
du /path/to/file.txt
コマンドで指定されているように、1つの特定のファイルのディスク使用量を表示します。
ファイル、ディレクトリ、リンクを除く
du -X FILE
指定された文字列の任意のパターンに一致するファイルを除外します。
du --exclude="*.o"
パターンで指定されたファイルとサブディレクトリを除外します。この例では、文字列「*.o」を含むすべてのディレクトリがスキップされます。これらは正規表現ではなく、シェルパターンであることに注意してください。そのため、制御文字は、0個以上の文字列に一致する*と、任意の1文字に一致する?に制限されます。これにより、これらのファイルがディレクトリサイズの計算から除外されます。 -a
の場合 フラグが使用されている場合、除外されたファイルは結果の出力でスキップされます。
du --threshold=SIZE
正の場合はSIZEより小さいエントリを除外し、負の場合はSIZEより大きいエントリを除外します。 SIZEは整数であり、(オプションの)単位を取ります。例:--threshold=1MB
1メガバイト(1000 ^ 2バイト)未満のすべてのファイルをスキップします。単位には、1024の累乗(キビバイト、メビバイト、ギビバイトなど)の場合はK、M、G、T、P、E、Z、Y、1000の累乗の場合はKB、MB、GB、TB、…が含まれます(キロバイト、メガバイト、ギガバイトなど)。これは、du --threshold=1GB
のようなコマンドを使用して、システム上で最大のファイルを見つけるための便利なツールになります。 。
du -d N
最大深度をNフォルダーに設定します。このフラグは任意の正の整数を取ることができます。この設定では、duは指定されたディレクトリで最大2つのサブディレクトリをスキャンします。さらにサブディレクトリが存在する場合、それらは個別にスキャンされません。むしろ、それらの値はレポートされたフォルダーに含まれます。 -d 0
に注意してください -s
と同じ結果を報告します フラグ。
たとえば、1つの親ディレクトリと3つのサブディレクトリを含むディレクトリパス「dir1 / dir2 / dir3/dir4」について考えてみます。 du -d 2 dir1
のdu設定を使用 dir3までスキャンダウンします。 dir4が個別にリストされていなくても、dir3のサイズにはdir4のファイルが含まれます。
結論:配管デュ
duコマンドは、コマンドdu -a / | sort -n -r | head -n 10
。これにより、ファイルシステム全体が検索されます(du -a /
)、結果をサイズで並べ替えます(sort -n -r
)、上位10件の結果のみを表示します(head -n 10
)。これは基本的に、マシン上の上位10個の最大ファイルへのショートカットです。パイプを介してduを他のコマンドと組み合わせると、さらに便利な結果が得られます。
-
Linuxで「echo」コマンドを使用する方法
Linuxをまったく使用したことがない場合でも、Linuxデスクトップを長期間使用している場合でも、意味をなさないように思われるコマンドがいくつかあります。これは、Linuxやその他のUnixライクなオペレーティングシステムの真の力の多くが作用するコマンドラインに飛び込むことがない場合に特に当てはまります。 これらの1つは、由緒あるechoです。 指図。一見、これは役に立たないコマンドのように見えるかもしれません。ボンネットの下を見ると、驚くほど便利であることがわかります。 「エコー」は何をしますか? echoの手動エントリを見てください 、そしてあなたは多くの助けを見つけることができませ
-
LinuxでTeeコマンドを使用する方法
Linuxシェルでパイプとリダイレクトを使用したことがある場合は、teeを使用する必要がある場合もあります。 ユーティリティ。 ティーは何をしますか? などのコマンド ls 現在のディレクトリの内容が表示されます。つまり、これらのコンテンツをstdout(標準出力)(通常は画面)、より正確には仮想端末ディスプレイに表示します。 のようなコマンド ls > file123 画面には何も表示されません。 signは、すべての出力をstdoutに表示するのではなく、ファイルにリダイレクトします。 file123には、以前に画面に表示されていたコンテンツが入力されます。 ディレクトリ