Linux 文件通配符

17 Mar 2025 | 阅读 2 分钟

Globbing 也称为路径名扩展。要了解文件名模式匹配,我们首先需要了解通配符。

通配符模式是包含 '?'、'['、'*' 等字符的字符串。它对多个具有相同模式的文件执行操作,或者在文本文件中查找部分短语。Shell 使用通配符进行文件名模式匹配。

Globbing 是一种识别通配符模式并将其扩展为路径名的操作。


*星号

星号被解释为生成匹配文件名的符号。它放在行的末尾。它通过任意数量的字符匹配组合。

示例

Linux File Globbing1

查看上面的快照,* 在所有示例中都显示了匹配的文件名。


? 问号

您还可以使用问号代替星号来生成匹配文件名。它放在行的末尾。它通过恰好一个字符匹配组合。

示例

Linux File Globbing2

查看上面的快照,? 在所有示例中都显示了精确匹配的文件名。


[] 方括号

方括号也用于生成方括号内及其第一个后续的匹配文件名。方括号内的顺序无关紧要。它通过恰好一个字符匹配组合。

示例

Linux File Globbing3

! 感叹号

感叹号从方括号内的列表中排除字符。您可以使用星号 (*)、问号 (?) 和方括号 ([]) 的组合。

示例

Linux File Globbing4

查看上面的快照,我们使用了感叹号的不同组合。


范围 [a-z] 和 [0-9]

您还可以根据需要指定范围。

示例

Linux File Globbing5

Globbing 预防

当目录为空时,命令 echo * 将打印 *。但如果不是空的,它将打印文件。为了防止这种情况,可以使用特殊字符,例如反斜杠 (\)、单引号 (') 和双引号 (")

语法

Linux File Globbing6

查看上面的快照,当目录“Download”为空时,会打印 *。但当它包含文件时,会打印列表。通过使用特殊字符可以防止这种情况。

下一主题Linux Shell 嵌入