du コマンドは、ディレクトリやファイルのディスク使用量を表示するためのコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。

基本的な使い方

編集
du [オプション] [ファイルまたはディレクトリ...]

主なオプション(GNU coreutils版)

編集
主なオプション
オプション 説明
-h, --human-readable サイズを人間が読みやすい単位(KB, MB, GB)で表示
-H -h と同様だが、1000 バイト単位で計算
-k サイズをキロバイト (1024 バイト) 単位で表示
-m サイズをメガバイト単位で表示
-s, --summarize 指定したディレクトリの合計のみを表示
-c, --total 最後に合計値を表示
-d, --max-depth=N N 階層までのディレクトリサイズを表示
--apparent-size 実際のファイルサイズ(ブロックサイズではなく)を表示
-a, --all ファイルも含めてすべての項目を表示
--exclude=PATTERN 指定したパターンに一致するファイル・ディレクトリを除外

ディレクトリの使用量を表示

編集
du /home

/home ディレクトリ内の使用量を表示。

サイズを人間が読みやすい単位で表示

編集
du -h /home

MB や GB などの単位で表示。

指定したディレクトリの合計のみを表示

編集
du -sh /home

/home ディレクトリ全体のサイズのみを表示。

指定した階層までのディレクトリサイズを表示

編集
du -h --max-depth=1 /home

/home 直下のディレクトリごとのサイズを表示(サブディレクトリの詳細は表示しない)。

すべてのファイルのサイズを表示

編集
du -ah /home

ディレクトリだけでなく、ファイルのサイズも表示。

FreeBSD 版との違い

編集

FreeBSD でも du コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

編集
  1. --apparent-size オプションが FreeBSD にはない
    • GNU 版では --apparent-size で実際のファイルサイズを表示できるが、FreeBSD 版にはない。
  2. -d(表示するディレクトリの階層指定)が FreeBSD では -d ではなく -n
    • GNU 版では du -d 1 で 1 階層のみ表示できるが、FreeBSD では du -n 1 を使用。
    du -n 1 /home
    
  3. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると gdu という名前で GNU 版 du が使える。
    pkg install coreutils
    gdu -h /home  # GNU coreutils 版の du
    

詳しくは、それぞれの環境で man du を確認してください。