A command that prints a list of files and folders in the current directory along with their total sizes is du -sh *
. That command alone doesn't, however, list hidden files or folders. I found a solution for a command that does correctly list the hidden files and folders along with the rest: du -sh .[!.]* *
. Although it works perfectly, the solution was provided as-is, without any explanation.
What is the meaning of .[!.]*
, exactly? How does it work?
It's a globbing pattern that basically tells bash to find all files starting with a .
, followed by any character but a .
and containing any character after that.
See this page for a great explanation of bash globbing patterns.