什么是文件通配?

What is file globbing?

我只是想知道什么是文件通配?我以前从未听说过它,当我尝试在网上查找时找不到它的定义。

Globbing 是 *? 以及您可能熟悉的其他一些模式匹配器。

Globbing interprets the standard wild card characters * and ?, character lists in square brackets, and certain other special characters (such as ^ for negating the sense of a match).

当 shell 发现 glob 时,它将执行 路径名扩展 并在调用程序时用匹配的文件名替换 glob。

*运算符为例,假设您想将当前目录中所有扩展名为.jpg的文件复制到其他地方:

cp *.jpg /some/other/location

这里*.jpg是一个glob模式,匹配当前目录下所有以.jpg结尾的文件。它等同于(而且更容易)列出当前目录并手动输入您想要的每个文件:

$ ls
cat.jpg dog.jpg drawing.png recipes.txt zebra.jpg

$ cp cat.jpg dog.jpg zebra.jpg /some/other/location

请注意,它可能看起来很相似,但它与正则表达式不同

你可以找到more detailed information here and here