linux中通配符是大家经常使用的功能,在进行批量文件操作时非常有用。今天我就来聊聊Linux中的通配符,这些看似简单的字符,能让你在命令行中的效率大幅提升!
什么是通配符?
通配符是命令行中用来匹配文件名的特殊字符。它们像“万能钥匙”一样,可以代表一个或多个字符,帮助我们快速定位和操作文件,而无需一个个输入完整的文件名。
常用五大核心通配符详解
1、星号 * —全能匹配王
代表: 零个或多个任意字符
使用频率: ★★★★★
列出所有.sh文件
删除所有以"log"开头的文件
# 匹配所有文件
适用场景: 批量重命名、批量删除、批量复制某一类文件
2. 问号 ? —精准单字匹配
代表: 恰好一个任意字符
使用频率: ★★★★☆
# 只匹配某个字符的文件
ls 1?.txt # 匹配以 1 开头的两位数 .txt 文件
# 匹配两个字符的文件名
适用场景: 文件名长度固定、某个位置字符不确定时
3. 方括号 [ ] — 范围选择器
代表: 括号内指定的任意一个字符
使用频率: ★★★☆☆
匹配1.txt或2.txt
ls [12].txt #文件名是1或者2的txt文件
匹配a.txt到z.txt
匹配数字结尾的.txt文件
ls *[0-9].txt #匹配以数字结尾的txt文件
范围写法:
4. 惊叹号 ! —反向排除
代表: “除了这些字符”
使用频率: ★★☆☆☆
# 匹配除了最后一位是数字1结尾的txt以外的.txt文件
# 不以数字结尾的.txt文件
ls *[!0-9].txt #显示不以数字结尾的文件
5. 花括号 { } — 组合生成器
功能:批量生成文件名/路径扩展
使用频率: ★★★☆☆
# 同时创建三个目录
# 生成数字序列
实战案例:看高手如何运用
案例一:整理文档
文件:11.jpg、12.jpg、13.jpg...
# 只移动1开头的两位数的jpg文件
touch 1{0..9}.jpgmv 1?.jpg ceshi/
# 移动所有照片
案例二:智能清理日志
# 删除2月份所有日志
rm 202602*.log #生产环境建议先备份再删除
# 保留1-5号日志,删除其余
重要安全提醒
黄金法则:先查看,再操作
# 错误示范(危险!):
# 正确做法:
ls *.txt # 先看会匹配哪些文件rm *.txt # 确认无误后再删除
其他注意事项:
隐藏文件要小心:*不会匹配以点开头的隐藏文件(如 .config)转义特殊字符:匹配包含通配符的文件名时用 rm \*.txt ( 删除名为*.txt的文件)
效率提升小提示
设置安全模式
在脚本中,可以设置以下参数:
set -f # 禁用通配符扩展(更安全)set +f # 重新启用
组合使用技巧
# 删除所有包含数字的临时文件
小结
总结
掌握Linux通配符,就像获得了命令行的“快捷键”。从今天起,尝试在工作中应用这些技巧,你会发现:
文件操作时间节省80%
脚本编写更简洁高效
命令行工作如行云流水
如果觉得本文有用,欢迎点赞、收藏、转发!
#运维#linux运维#linux实战#linux通配符