一、基礎用法
Linux的find命令用來在指定目錄中查找文件,並且可以按照文件名、文件類型、文件大小、文件屬性等多種方式進行篩選和排序。
find的基礎使用方法如下:
find [path] [expression]
其中,[path]為需要查找的目錄,[expression]為查找的表達式。若不帶任何選項和參數,則會返回指定目錄下的所有文件和子目錄。
例如,查找當前目錄下所有以.txt結尾的文件:
find . -name "*.txt"
其中,.表示當前目錄,-name選項指定了匹配的文件名模式。
二、模糊查詢
除了基本的文件名匹配,find還支持使用通配符來進行模糊查詢。
通配符有以下兩種:
- *:匹配0個或多個任意字元
- ?:匹配1個任意字元
例如,查找當前目錄下所有以log開頭、以.txt結尾的文件:
find . -name "log*.txt"
其中,log*表示以log開頭,*表示0個或多個任意字元,.txt表示以.txt結尾。
三、忽略大小寫和擴展名匹配
有時候文件名的大小寫可能不一致,或者需要同時匹配多種擴展名,這時候可以使用一些選項來進行匹配。
比如,查找當前目錄下所有以log開頭、以.txt或者.TXT結尾的文件,並忽略大小寫:
find . -iname "log*.txt"
其中,-iname選項表示忽略大小寫匹配,*.txt表示以.txt結尾,或者以.TXT結尾。
四、按文件類型和大小篩選
除了文件名,find還可以按照文件類型和大小進行篩選。
例如,查找當前目錄中所有類型為文件(去掉-l選項就是查找目錄)且大小大於10M的所有文件:
find . -type f -size +10M
其中,-type f選項表示查找文件類型,-size +10M表示查找大小大於10M的文件。
五、按時間戳篩選
除了文件名、類型和大小,find還可以按照時間戳進行篩選。
例如,查找當前目錄中所有修改時間在7天以內的所有文件:
find . -type f -mtime -7
其中,-type f選項表示查找文件類型,-mtime -7表示查找7天以內修改過的文件。
六、按許可權和用戶篩選
除了基本的文件屬性,find還可以按照文件的許可權和所有者進行篩選。
例如,查找當前目錄中所有擁有者為當前用戶,並且許可權為755的所有文件:
find . -type f -perm 755 -user $USER
其中,-type f選項表示查找文件類型,-perm 755表示許可權為755,-user $USER表示所有者為當前用戶。
七、混合使用
find命令可以混合使用多種選項和參數,進行複雜的查找操作。
例如,查找當前目錄中所有修改時間在7天以內,大小大於10M,所有者為當前用戶,並且許可權為755的所有文件:
find . -type f -mtime -7 -size +10M -perm 755 -user $USER
以上是find模糊查詢的一些基礎用法,還有很多高級用法可以深入學習和使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/310092.html