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