在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
結(jié)尾的文件:
ls dir/*.txt
刪除 dir
目錄下的所有 .log
文件:
rm dir/*.log
將 file*.txt
中的所有 .txt
文件復制到另一個目錄:
cp file*.txt /path/to/destination/
請注意,使用通配符時要小心,因為它們可能會匹配到意外的文件。在使用通配符命令之前,建議先使用不帶通配符的命令進行測試,以確保不會誤刪或移動重要文件。