在Linux中,通配符(wildcards)可以帮助我们进行文件分类。以下是一些常用的通配符和它们的使用方法:
-
*
:匹配任意长度的任意字符。例如,*.txt
可以匹配所有扩展名为.txt
的文件。 -
?
:匹配任意单个字符。例如,ab?d
可以匹配abcd
、abtd
等。 -
[...]
:匹配方括号内的任意一个字符。例如,[a-z]
可以匹配所有小写字母;[A-Z]
可以匹配所有大写字母;[0-9]
可以匹配所有数字。 -
{...}
:匹配大括号内的任意一个字符串。例如,{a,b,c}
可以匹配a
、b
或c
。 -
*
和?
可以组合使用。例如,a*c?d
可以匹配acd
、acbd
等。 -
**
:递归匹配。例如,**/txt
可以匹配所有扩展名为.txt
的文件,无论它们在哪个目录下。
以下是一些使用通配符进行文件分类的例子:
-
查找所有
.txt
文件:find . -name "*.txt"
-
查找所有以
a
开头的文件:ls a*
-
查找所有长度为3的文件名:
ls ???
-
查找所有小写字母开头的文件:
ls [a-z]*
-
查找
dir1
和dir2
目录下的所有.txt
文件:find dir1 dir2 -name "*.txt"
-
查找当前目录及其子目录下的所有
.txt
文件:find . -name "*.txt"
通过这些例子,你可以看到如何使用Linux通配符进行文件分类。