我试图理解以下代码ls -d */
并得出以下解释:*/
“匹配当前目录中的所有子目录”。但那个答案指出了,这是做什么的。但我的问题是,这些标志叫什么,它们是如何工作的?
据我所知,我可以看出这/
意味着根,但它也可以代表目录树中的一些节点。那是对的吗?星号呢?
答案1
*
它只是一个球体。
*/
是一个 hacky glob,它匹配任何后跟/
(子目录)的东西,也就是查找所有子目录的简单方法内置代码。
Glob 是 shell 模式,可用于匹配字符串或扩展路径名:
[[ $name = Bob* ]]
rm -- *.txt
printf '%s\n' */