在Linux中,通配符(wildcards)用于在命令行或脚本中匹配文件名或路径。它们可以简化文件查找、复制、删除等操作。Linux中有两种通配符:
-
单个字符通配符(
*
):它可以匹配任意长度的任意字符。例如:*
可以匹配任何文件名,如file.txt
、dir1/file2.txt
等。?
可以匹配任意单个字符,如f?le.txt
(匹配file.txt
或fle.txt
)。
-
扩展通配符(
*
和?
的组合):它们可以匹配更复杂的文件名或路径。例如:*
可以匹配任意长度的任意字符,如file*.txt
(匹配file1.txt
、file2.txt
等)。*
和?
的组合,如f*d/*
(匹配folder1/file1.txt
、folder2/file2.txt
等)。
以下是一些使用通配符的基本示例:
-
查找所有
.txt
文件:ls *.txt
-
在
dir
目录下查找所有以file
开头的文件:ls dir/file*
-
在
dir
目录下查找所有以.txt
结尾的文件:ls dir/*.txt
-
删除
dir
目录下的所有.log
文件:rm dir/*.log
-
将
file*.txt
中的所有.txt
文件复制到另一个目录:cp file*.txt /path/to/destination/
请注意,使用通配符时要小心,因为它们可能会匹配到意外的文件。在使用通配符命令之前,建议先使用不带通配符的命令进行测试,以确保不会误删或移动重要文件。