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.
. - match a ., prefix of hidden file
[!.] - match any character, as long as it is not a ., see ref
* - any number of characters
so this pattern means match files starts with . but not ..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With