Есть некоторые важные изменения в поведении этих двух вызовов. Давайте рассмотрим пример со структурой, созданной:
mkdir mydir/{.a1,a2,a3}/{.b1,b2}/{.c1,c2} -p
Если вы du --max-depth=2 mydir
вы получите:
0 mydir/.a1/.b1
0 mydir/.a1/b2
0 mydir/.a1
0 mydir/a2/.b1
0 mydir/a2/b2
0 mydir/a2
0 mydir/a3/.b1
0 mydir/a3/b2
0 mydir/a3
0 mydir/
Но если вы запустите
du --max-depth=2 mydir/*`
символ подстановки будет расширен и станет эквивалентом:
du --max-depth=2 mydir/a2 mydir/a3
который даст вам следующий результат:
0 mydir/a2/.b1/.c1
0 mydir/a2/.b1/c2
0 mydir/a2/.b1
0 mydir/a2/b2/.c1
0 mydir/a2/b2/c2
0 mydir/a2/b2
0 mydir/a2
0 mydir/a3/.b1/.c1
0 mydir/a3/.b1/c2
0 mydir/a3/.b1
0 mydir/a3/b2/.c1
0 mydir/a3/b2/c2
0 mydir/a3/b2
0 mydir/a3
Здесь важно отметить, что он пропустит каталог .a1
. Чтобы включить его, вам нужно выполнить что-то похожее на: du --max-depth=2 mydir/{.[!.]*,*}
(но я думаю, что может быть более простой и более общий способ, который я надену не знаю). Он также не будет рассчитывать общий размер mydir
.
И да, размеры, сообщаемые du
включают размеры подпапок.