在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/
请注意,使用通配符时要小心,因为它们可能会匹配到意外的文件。在使用通配符命令之前,建议先使用不带通配符的命令进行测试,以确保不会误删或移动重要文件。