Lunuxの定番、ディスク容量確認コマンド「df」
$ df [オプション] [ファイル|ディレクトリ]
オプションは「-h」(サイズに応じた単位で表示)を知ってればたいていは事足りる。(オプション無しの場合、表示単位はByte)
ファイル或いはディレクトリパスを指定すると、そのファイルやディレクトリが作成されているパーティションの容量を表示する。
ディレクトリ単位で容量を確認する場合は、「du」コマンド。
du [オプション] [ファイル|ディレクトリ]
主なオプションは以下の通り。
-h:サイズに報じた単位で表示
-s:指定したディレクトリの合計のみを表示
-x:異なるファイルシステム(パーティション)をスキップする
ファイルやディレクトリを指定しない場合、カレントディレクトリのすべてのディレクトリ、及びそのサブディレクトリが対象となる。
# ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .cache .config .cshrc .pki .tcshrc anaconda-ks.cfg dockfile makeImage
# du
4 ./.cache/abrt
4 ./.cache
0 ./.config/abrt
0 ./.config
0 ./.pki/nssdb
0 ./.pki
8 ./dockfile
4 ./makeImage
48 .
「s」オプションと「*」(ワイルドカード:メタ文字)を組み合わせることで、指定したディレクトリ内のファイルとディレクトリを表示できる。
※ 隠しファイル、隠しディレクトリ、サブディレクトリは表示されない
# ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .cache .config .cshrc .pki .tcshrc anaconda-ks.cfg dockfile makeImage
# du -s *
4 anaconda-ks.cfg
8 dockfile
4 makeImage
「df」同様デフォルトの表示単位はByteであるので、サイズが大きくなると読み取りにくくなる。
さらには、ディレクトリが多くなるとどれが一番容量が多いのかが解りづらくなる。
# du -s /var/lib/docker//overlay2/*
75424 /var/lib/docker//overlay2/0ee087e2a17b8826ac70b5ba029a0ddf523b38a212960c3a43a657e8192db798
360 /var/lib/docker//overlay2/0f9d6b302a4c02f0ab2969cb80a4cc534bad899ec74018a759da32782c10bdde
12 /var/lib/docker//overlay2/123e1d7d21727a5e854ed0ba9ac338b081b356aa0948f3bc3b077c66073497f5
12 /var/lib/docker//overlay2/1b6d92b17670c787a16eae1f33c5c2a437e5eb572b966e03fa12d3f0378d9ab3
12 /var/lib/docker//overlay2/209ebc0c1b45f6eb01d7769324dfd0f2982c60aed0b7ebced2d2b097d31064ae
12 /var/lib/docker//overlay2/23860f619bf357e90b420b92f5a1377d39ecfd291b80fbd3e7ff177af1aab186
16 /var/lib/docker//overlay2/23995062bd8c7b683cd4322bd9c170590c5bfc551e1e637ad3c2a2325c692aa4
11336 /var/lib/docker//overlay2/2fee0ea12efeaae0febd865b82b1c76620cfdcf333689b3568b9c3dd1ed9e414
51316 /var/lib/docker//overlay2/382b41bad265ad87dd2fa62001f27465276edf7a4a398269c778906b1a879486
24 /var/lib/docker//overlay2/3cea9dbd86370f90d60ea9f24be564b63e510c72eebf3a5677dce7e55211e636
~~中略~~
8 /var/lib/docker//overlay2/ef6054a568d8870be5f981d85fb97b5ffb71560f3598c95e85b403712d181753
8 /var/lib/docker//overlay2/ef6054a568d8870be5f981d85fb97b5ffb71560f3598c95e85b403712d181753-init
44 /var/lib/docker//overlay2/f205ac2415d61e60a734c20dae4132ff825e6de83c3027f29f3009aa20edfc42
121280 /var/lib/docker//overlay2/f36afaf7ea6606faf1ec15ae2972e8c9e6ea085a143d12750233af7ea2edb2b3
8 /var/lib/docker//overlay2/fbabd405ec6f720d75d496284af991c7e5e10eb48899bbc897625b6b79bfcf9f
4 /var/lib/docker//overlay2/l
そんな時には「h」オプションを付け、パイプで「sort」に引き渡す。
「sort」コマンドには、サイズの大きい順に表示させるため「r」(リバース:降順表示)オプションと、「du」の「h」オプションでついた単位を正しく解釈させるための「h」オプションを付ける。
# du -sh /var/lib/docker//overlay2/* | sort -rh
304M /var/lib/docker//overlay2/ca5c3aba4944700d39ebab3c4ab270a21e015ed64347b75c4316bc1179ed3e93
228M /var/lib/docker//overlay2/7c5d4fec2e5368272f99292031b1f37a351c3e9615bfe3693ebc89611baf2104
211M /var/lib/docker//overlay2/87f3b861b6e4007bf87f2b385ace4d62e1ee5ad40d56243b6bfd58d0b6dae0b1
175M /var/lib/docker//overlay2/67de0fca2b6aa4346860bcbbd5fff738cf86bed3a4de9c23c98fab2f9e390955
119M /var/lib/docker//overlay2/f36afaf7ea6606faf1ec15ae2972e8c9e6ea085a143d12750233af7ea2edb2b3
76M /var/lib/docker//overlay2/67bbbd567716e6e8e0dafcfd684c83118f9c0264c9c7fbd82a805985d859bce7
74M /var/lib/docker//overlay2/0ee087e2a17b8826ac70b5ba029a0ddf523b38a212960c3a43a657e8192db798
59M /var/lib/docker//overlay2/ed0d3388f2e1433cb9e8d665db55325ea0c0d3416f936c439f02b27282a196db
51M /var/lib/docker//overlay2/382b41bad265ad87dd2fa62001f27465276edf7a4a398269c778906b1a879486
~~中略~~
8.0K /var/lib/docker//overlay2/7588992db74f7132a6b2f028edf16e6c5455440c7ac381ae93805bee2e3a0cf9
8.0K /var/lib/docker//overlay2/688c5273d4cdb5494f79f23124e300b11122e0dc8872ccdd40db39831d323585-init
8.0K /var/lib/docker//overlay2/688c5273d4cdb5494f79f23124e300b11122e0dc8872ccdd40db39831d323585
8.0K /var/lib/docker//overlay2/5319b67a03e33d96a8b4d96fd8da185ab970f114a76f663fcd6ed65331093e1c
4.0K /var/lib/docker//overlay2/l
0 /var/lib/docker//overlay2/backingFsBlockDev