在Linux中,find
命令是一個非常強大的工具,用于在目錄樹中查找文件和目錄
單個通配符:
*
:匹配任意長度的任意字符。例如,find . -name "*.txt"
將查找當(dāng)前目錄及其子目錄中的所有.txt
文件。?
:匹配任意單個字符。例如,find . -name "?file.txt"
將查找當(dāng)前目錄及其子目錄中的所有以單個字符開頭和結(jié)尾的.txt
文件。多個通配符:
*pattern*
:匹配包含pattern
的字符串。例如,find . -name "*log*.txt"
將查找當(dāng)前目錄及其子目錄中的所有包含log
的.txt
文件。{pattern1,pattern2}
:匹配pattern1
或pattern2
。例如,find . -name "{file1,file2}.txt"
將查找當(dāng)前目錄及其子目錄中的所有.txt
文件,但僅限于file1.txt
和file2.txt
。通配符表達式:
[abc]
:匹配方括號內(nèi)的任意一個字符(a、b或c)。例如,find . -name "[ab]file.txt"
將查找當(dāng)前目錄及其子目錄中的所有以a
或b
開頭的.txt
文件。[^abc]
:匹配不在方括號內(nèi)的任意一個字符(a、b或c)。例如,find . -name "[^ab]file.txt"
將查找當(dāng)前目錄及其子目錄中的所有不以a
或b
開頭的.txt
文件。在使用find
命令時,可以將通配符與其他選項一起使用,例如:
-type f
:僅查找文件(不包括目錄)。-type d
:僅查找目錄(不包括文件)。-mtime
:根據(jù)修改時間過濾文件。例如,find . -type f -mtime -7
將查找過去7天內(nèi)修改過的所有文件。這是一個基本的find
命令示例,使用通配符查找當(dāng)前目錄及其子目錄中的所有.txt
文件:
find . -name "*.txt"