GNU Core Utilities/du
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 版といくつか違いがあります。
主な違い:
編集--apparent-size
オプションが FreeBSD にはない- GNU 版では
--apparent-size
で実際のファイルサイズを表示できるが、FreeBSD 版にはない。
- GNU 版では
-d
(表示するディレクトリの階層指定)が FreeBSD では-d
ではなく-n
- GNU 版では
du -d 1
で 1 階層のみ表示できるが、FreeBSD ではdu -n 1
を使用。
du -n 1 /home
- GNU 版では
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールするとgdu
という名前で GNU 版du
が使える。
pkg install coreutils gdu -h /home # GNU coreutils 版の du
詳しくは、それぞれの環境で man du
を確認してください。