Linux中的通配符(wildcards)可以用于在命令行中方便地匹配文件名
*:匹配任意长度的任意字符。例如,*.txt 表示所有以 .txt 结尾的文件。
?:匹配任意单个字符。例如,ab?d 表示以 a 开头,b 后面跟一个任意字符,然后是 d 的文件。
[abc]:匹配方括号内的任意一个字符。例如,[aeiou] 表示以 a、e、i、o 或 u 开头的文件。
[!abc]:匹配不在方括号内的任意一个字符。例如,[!aeiou] 表示以 b、c、d、e 或 f 开头的文件。
{m,n}:匹配大括号内的任意一个字符串。例如,{a,b,c} 表示 a、b 或 c。
{m,n,p}:匹配大括号内的任意多个字符串。例如,{a,b,c}{1,2} 表示 aa、ab、ac、ba、bb 或 bc。
* *:匹配任意数量的任意字符。例如,a* * 表示以 a 开头,后面跟任意数量的任意字符,再后面跟任意数量的任意字符的文件。
? *:匹配一个任意字符,后面跟任意数量的任意字符。例如,? * 表示以任意字符开头,后面跟任意数量的任意字符的文件。
* ?:匹配任意数量的任意字符,后面跟一个任意字符。例如,* ? 表示以任意数量的任意字符开头,后面跟一个任意字符的文件。
以下是一些使用通配符的示例:
.txt 文件:ls *.txta 或 b 开头的文件:ls [ab]*a、e、i 或 o 开头的文件:ls [aeiou]*ls [0-9]*file 开头,后面跟一个或多个数字的文件:ls file[0-9]*file 开头,后面跟一个或多个数字和一个扩展名为 .txt 的文件:ls file[0-9]*.txt通过组合这些通配符,你可以更灵活地匹配文件名。