linux 文件名匹配

linux 文件名匹配

文件名匹配优点:

在执行shell命令时,使用文件匹配这一特性,可以简化查找文件的速度,可以一次查找出类似文件名的文件,
例: 我们需要查找后缀为 .c的文件,此时我们就可以使用
[root@localhost ~]#ls *.c


文件名包含特殊字符

假设此时我们需要获取文件名前缀 包含!号的文件
[root@localhost ~]#ls !*.c
//系统会报错, shell会将 !* 作为一个字符来替换查找,而不是同配符
所以对于特殊字符(! @ # ¥ % 空格 * )的匹配查找,我们需要将特殊字符用单引号进行引用 或采用转义字符的方式处理特殊字符
[root@Localhost ~]#ls ‘!’*.c
[root@localhost ~]#ls \!*.c

命令本身带特殊字符作为参数

在shell编程中,一些匹配工具,通常采用正则表达式进行模糊匹配,因为这些正则表达式通常是作为一个参数发送至命令中进行执行,所以对于shell命令的输入需要采用 单引号将这些表达式包含起来。
例:
[localhost ~]#find / -name ‘[1-9]*’

相关阅读:
echo 单引号 双引号 无引号
linux 命令之find