I've found a confusing behaviour in Linux's version of du(1).
du
can take a single folder to recurse into, or list of files/folders either via --files0-from
or in argv
.
But its behaviour is inconsistent if this list contains parents and children.
- A child given before its parent makes the parent count as empty
- With
-s
(or equivalently -d 0
), a parent given before its child (vice versa) skips the child
OpenBSD's du conversely has consistent behaviour: it always outputs one line (or block of lines, if not given -s
) per input, and always counts everything as full-sized, parent and child.