There are some important changes in the behavior of these two invocations. Let's use an example, with the structure created by:

```
mkdir mydir/{.a1,a2,a3}/{.b1,b2}/{.c1,c2} -p
```

If you invoke `du --max-depth=2 mydir`

you will get:

```
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/
```

But if you run:

```
du --max-depth=2 mydir/*`
```

the wildcard character will be expanded and it will become an equivalent of:

```
du --max-depth=2 mydir/a2 mydir/a3
```

which will give you the following result:

```
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
```

The important thing to note here is that it will omit the `.a1`

directory. In order to include it you would have to run something similar to: `du --max-depth=2 mydir/{.[!.]*,*}`

(but I guess there might be an easier and more generic way that I don't know of). It will also not calculate the overall size of the `mydir`

directory.

And yes, the sizes reported by `du`

include sizes of the subfolders.