当前位置:首页>Linux>掌握Linux通配符,让你的效率翻倍!这些符号太有用了!

掌握Linux通配符,让你的效率翻倍!这些符号太有用了!

  • 2026-09-05 23:55:16
掌握Linux通配符,让你的效率翻倍!这些符号太有用了!
linux中通配符是大家经常使用的功能,在进行批量文件操作时非常有用。

今天我就来聊聊Linux中的通配符,这些看似简单的字符,能让你在命令行中的效率大幅提升!


什么是通配符?

通配符是命令行中用来匹配文件名的特殊字符。它们像“万能钥匙”一样,可以代表一个或多个字符,帮助我们快速定位和操作文件,而无需一个个输入完整的文件名。


常用五大核心通配符详解

1、星号 * —全能匹配王

代表: 零个或多个任意字符

使用频率: ★★★★★

列出所有.sh文件
ls *.sh
删除所有以"log"开头的文件  
rm log*
# 匹配所有文件
rm *   #谨慎操作,非常危险 

适用场景: 批量重命名、批量删除、批量复制某一类文件


2. 问号 ? —精准单字匹配

代表: 恰好一个任意字符

使用频率: ★★★★☆

# 只匹配某个字符的文件
ls 1?.txt    #  匹配以 1 开头的两位数 .txt 文件
# 匹配两个字符的文件名
ls ??.txt

适用场景: 文件名长度固定、某个位置字符不确定时


3. 方括号 [ ] — 范围选择器

代表: 括号内指定的任意一个字符

使用频率: ★★★☆☆

匹配1.txt或2.txt
ls [12].txt    #文件名是1或者2的txt文件 
匹配a.txt到z.txt
ls [a-z].txt
匹配数字结尾的.txt文件
ls *[0-9].txt   #匹配以数字结尾的txt文件

范围写法:

[a-z] → 任意小写字母

[A-Z] → 任意大写字母

[0-9] → 任意数字

[abc] → a、b或c中的任意一个


4. 惊叹号 ! —反向排除

代表: “除了这些字符”

使用频率: ★★☆☆☆

# 匹配除了最后一位是数字1结尾的txt以外的.txt文件
ls *[!1].txt
# 不以数字结尾的.txt文件
ls *[!0-9].txt    #显示不以数字结尾的文件

5. 花括号 { } — 组合生成器

功能:批量生成文件名/路径扩展

使用频率: ★★★☆☆

# 同时创建三个目录
mkdir {1,2,3}
# 生成数字序列
echo {1..10}     #直接输出1-10

实战案例:看高手如何运用

案例一:整理文档

文件:11.jpg、12.jpg、13.jpg...

# 只移动1开头的两位数的jpg文件
touch 1{0..9}.jpgmv 1?.jpg ceshi/
# 移动所有照片
mv *.jpg ceshi/

案例二:智能清理日志

# 删除2月份所有日志
rm 202602*.log    #生产环境建议先备份再删除
# 保留1-5号日志,删除其余
rm log_202602[!1-5].log

重要安全提醒

黄金法则:先查看,再操作

# 错误示范(危险!):
rm *.txt      #非必要不操作
# 正确做法:
ls *.txt      # 先看会匹配哪些文件rm *.txt      # 确认无误后再删除

其他注意事项:

隐藏文件要小心:*不会匹配以点开头的隐藏文件(如 .config)
转义特殊字符:匹配包含通配符的文件名时用 rm \*.txt  ( 删除名为*.txt的文件)
区分通配符与正则表达式:

通配符:用于文件名匹配,简单

正则表达式:用于文本匹配,强大但复杂


 效率提升小提示

设置安全模式

在脚本中,可以设置以下参数:

set -f    # 禁用通配符扩展(更安全)set +f    # 重新启用

组合使用技巧

# 删除所有包含数字的临时文件
rm temp*[0-9]*.tmp

小结

通配符
含义
使用场景
*
任意多个字符
批量操作同类文件
?
单个任意字符
精确控制文件名长度
[abc]
a/b/c中任一个
有限范围选择
[!x]
除了x
反向排除
{a,b}
a和b组合
生成多个组合

总结

掌握Linux通配符,就像获得了命令行的“快捷键”。从今天起,尝试在工作中应用这些技巧,你会发现:

  • 文件操作时间节省80%

  • 脚本编写更简洁高效

  • 命令行工作如行云流水

如果觉得本文有用,欢迎点赞、收藏、转发!


#运维#linux运维#linux实战#linux通配符

最新文章

随机文章