Menu
CoddyTech

问号通配符

本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 26 课,共 82 课。

问号通配符 ? 匹配恰好一个字符。与 * 可以匹配任意数量的字符不同,? 更精确:每个 ? 都代表一个字符位置。

例如,如果你有这些文件:

file1.txt
file2.txt
file3.txt
file10.txt
notes.txt

使用 ? 匹配 file 后面恰好有一个字符的文件:

ls file?.txt

输出:

file1.txt
file2.txt
file3.txt

注意,file10.txt 没有匹配,因为 10 是两个字符,而不是一个。

使用多个问号:

每个 ? 都恰好匹配一个字符,因此你可以连续使用多个问号:

ls file??.txt   # 匹配 file10.txt、file23.txt 等文件。

与其他字符混合:

ls ???.txt      # 匹配文件名恰好为 3 个字符的任何 .txt 文件
ls img_?.jpg    # 匹配 img_1.jpg、img_2.jpg,但不匹配 img_10.jpg

何时使用 ?,何时使用 *:

  • 当你确切知道有多少个字符会变化时,使用 ?
  • 当你不知道变化的字符数量时,使用 *
challenge icon

挑战

入门

使用 ? 通配符,仅列出匹配 file?.txt 的文件:文件名以 file 开头,后面紧跟恰好一个字符,并以 .txt 结尾。

提示:结果中不应该出现 file10.txt,因为 10 是两个字符。? 通配符一次只匹配一个字符。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Terminal 在线编辑器