在shell脚本中,做什么.[!.]*是什么意思?

sig*_*g_v 5 bash gnu-coreutils

一个命令,用于打印当前目录中的文件和文件夹列表及其总大小du -sh *.但是,该命令不会列出隐藏的文件或文件夹.我找到了一个命令的解决方案,它可以正确地列出隐藏的文件和文件夹以及其余文件:du -sh .[!.]* *.虽然它完美无缺,但解决方案按原样提供,没有任何解释.

究竟是什么意思.[!.]*?它是如何工作的?

tgo*_*tgo 3

这是一种通配模式,基本上告诉 bash 查找以 a 开头的所有文件.,后跟除 a 之外的任何字符 .,并在其后包含任何字符。

请参阅此页面以获取 bash 通配模式的详细解释。