ls
を使用してディレクトリの内容を一覧表示する場合 コマンドを実行すると、ディレクトリのサイズがほとんどの場合4096バイト(4 KB)であることに気付いたかもしれません。これは、ディレクトリに含まれるものではなく、ディレクトリのメタ情報を格納するために使用されるディスク上のスペースのサイズです。
ディレクトリの実際のサイズを取得するために使用するコマンドは、du
です。 、これは「ディスク使用量」の略です。
ディレクトリのサイズの取得#
du
コマンドは、指定されたファイルまたはディレクトリによって使用されているファイルスペースの量を表示します。指定されたパスがディレクトリの場合、du
そのディレクトリ内の各サブディレクトリのディスク使用量を要約します。パスが指定されていない場合、du
現在の作業ディレクトリのディスク使用量を報告します。
オプションなしで呼び出された場合、du
指定されたディレクトリとその各サブディレクトリのディスク使用量をバイト単位で表示します。
通常、ディレクトリが占めるスペースを人間が読める形式で表示する必要があります。たとえば、/var
の合計サイズを取得するには ディレクトリの場合、次のコマンドを実行します:
sudo du -sh /var
出力は次のようになります:
85G /var
コマンドとその引数について説明しましょう:
- コマンドは
sudo
で始まります/var
内のほとんどのファイルとディレクトリが ディレクトリはrootユーザーが所有しており、通常のユーザーは読み取ることができません。sudo
を省略した場合du
コマンドは「du:ディレクトリを読み取れません」と出力します。 -
s
-指定したディレクトリの合計サイズのみを表示し、サブディレクトリのファイルサイズの合計は表示しません。 -
h
-人間が読める形式でサイズを印刷します(h
。 -
/var
-サイズを取得するディレクトリへのパス。
第1レベルのサブディレクトリのディスク使用量を表示したい場合はどうなりますか? 2つのオプションがあります。 1つ目は、アスタリスク記号(*
)を使用することです。 )以下に示すように、これは「ピリオド(.
)で始まらないすべてのものに一致することを意味します )」。 -c
オプションはdu
に指示します すべてのサイズの総計を印刷するには:
sudo du -shc /var/*
24K /var/db
4.0K /var/empty
4.0K /var/games
77G /var/lib
4.0K /var/local
0 /var/lock
3.3G /var/log
0 /var/mail
4.0K /var/opt
0 /var/run
196K /var/spool
28K /var/tmp
85G total
第1レベルのサブディレクトリのディスク使用量に関するレポートを取得する別の方法は、--max-depth
を使用することです。 オプション:
sudo du -h --max-depth=1 /var
77G /var/lib
24K /var/db
4.0K /var/empty
4.0K /var/local
4.0K /var/opt
196K /var/spool
4.0K /var/games
3.3G /var/log
5.0G /var/cache
28K /var/tmp
85G /var
85G total
デフォルトでは、du
コマンドは、ディレクトリまたはファイルによって使用されるディスク容量を表示します。ディレクトリの見かけのサイズを見つけるには、--apparent-size
を使用します オプション。ファイルの「見かけのサイズ」は、実際にファイルに含まれるデータの量です。
sudo du -sh --apparent-size /var
SCP、Rsync、またはSFTPを介してディレクトリを転送する場合、ネットワークを介して転送されるデータの量は、ファイルの見かけのサイズです。これが、du
で表示されたときにソースで使用されるディスク上のスペースのサイズである理由です。 (--apparent-size
なし )はターゲットのサイズと同じではありません。
du
コマンドは、パイプを使用して他のコマンドと組み合わせることもできます。
たとえば、/var
内の最大の5つのディレクトリを印刷するには ディレクトリの場合、du
の出力をパイプします sort
に ディレクトリをサイズで並べ替えてから、出力をhead
にパイプするコマンド 上位5つのディレクトリのみを出力するコマンド:
sudo du -h /var/ | sort -rh | head -5
85G /var/
77G /var/lib
75G /var/lib/libvirt/images
75G /var/lib/libvirt
5.0G /var/cache/pacman/pkg
結論#
Linuxでは、du
を使用してディレクトリのサイズを取得できます コマンド。
ご質問やご意見がございましたら、下にコメントを残してください。