首页/系统/Linux 运维命令速查/通配符与花括号扩展(globbing)
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

通配符与花括号扩展(globbing)

shell 的文件名展开规则:* ? [] 与 {a,b} 花括号,理解展开时机(命令执行前由 shell 完成)是写好命令的关键。

Linux 运维命令速查系统更新于 2026-10-12
用途shell 层文件名批量匹配与展开
符号* 任意串 ? 单字符 [abc]/[a-z] 集合 {a,b} 花括号
归属bash/sh 展开,非命令参数

常用示例

常用示例
ls *.log
rm -i file?.txt
ls [abc]*.conf
mkdir -p data/{raw,clean,tmp}
cp app.conf{,.bak}              # 展开为 app.conf app.conf.bak
花括号扩展是 bash 扩展(POSIX sh 不支持);展开发生在命令启动前,用 echo 可预览展开结果。

易错点

  • 引号会阻止展开:给 find -name 的模式必须加引号,否则 shell 先展开导致语义完全改变
  • 无匹配时 bash 把模式原样传给命令(如 ls *.xyz 报找不到 *.xyz 文件);脚本可开 nullglob 改变行为

数据来源与参考

  • man 1 bash(Brace Expansion / Pathname Expansion 章节)
  • POSIX Shell 命令语言规范

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌