ディレクトリ内の容量を計算する際 du
コマンドを使うが、サブディレクトリ毎の一覧を出したい時に、隠しディレクトリが拾えなかったりで意図と違う感じになる。
git 使ってるディレクトリだと .git
に大量のファイルが入ってたりするので、整理する。
結論
下記のコマンドで全部出る。
$ du -sh . .[^.]* *
経緯など
下記のような内容のディレクトリがあった場合。
$ ls -a
. .DS_Store .gitattributes sc1.png sc3.png sc5.png
.. .git README.md sc2.png sc4.png
du -sh *
で出力すると下記のような感じで隠しファイルと隠しディレクトリは計算から外れてしまう。
$ du -sh *
4.0K README.md
176K sc1.png
180K sc2.png
180K sc3.png
44K sc4.png
44K sc5.png
が実際にはこのディレクトリは全体で 13MB くらいあるのでこの結果は変、変というか、足りてない。
$ du -sh
13M .
と言うわけで、隠しフォルダを出力する。
隠しフォルダは du -sh .[^.]*
で集計される。
$ du -sh .[^.]*
8.0K .DS_Store
12M .git
4.0K .gitattributes
ただ、このやり方だと隠しフォルダ以外は出てこないので、 *
と、ディレクトリ全体の出力も .
で追加して全部一気に出してあげる。
$ du -sh . .[^.]* *
13M .
8.0K .DS_Store
12M .git
4.0K .gitattributes
4.0K README.md
176K sc1.png
180K sc2.png
180K sc3.png
44K sc4.png
44K sc5.png
これで大体意図した感じの出力に近づいた。