Linux下find命令在目錄結構中搜索文件,並執行指定的操作。find命令提供了相當多的查找條件,功能很強大。在運行一個非常消耗資源的find命令時,很多人都傾向於把它放在後臺執行,因爲遍歷一個大的文件系統可能會花費很長的時間。
語法:
# find [路徑] [參數]
根據文件名搜索:
使用-name參數指定文件名必須匹配的字符串:
具有條件限制的查找:
find -name
"h*"
-a -name
"*.c"
//查找以h開頭並且以.c結尾的文件
find -name
"h*"
-o -name
"*.c"
//查找以h開頭或以.c結尾的文件
find -not -name
"h*"
-o -name
"*.c"
//查找不以h開頭或以.c結尾的文件
根據深度查找:
find -maxdepth/-mindepth
根據文件類型:
文件類型 類型參數
普通文件 f
符號文件 l
目錄 d
字符設備 c
塊設備 b
套接字 s
管道文件 p
find -type f //查找普通文件
5. 根據時間搜索:
-atime -n +n :將n天內被存取過的文件列出來,即訪問過的文件。-n指n天內,+n指n天前
-ctime -n +n :將n天內被改變、新增的文件或目錄列出來,即被改變狀態的文件。
-mtime -n +n :將n天內被更新的文件列出來,即被改變數據的文件。
-newer file :把比file還要新的文件列出來
find -atime -1 //查找1天內被訪問過的文件 find -newer test1 //查找當前目錄及子目錄下比test1文件還新的文件
6. 根據文件大小搜索:
-size
find -type f -size +100
//查找文件大小比100大的普通文件
find -type f -size 100
//查找文件大小爲100的普通文件
find -type f -size -100
//查找文件大小比100小的普通文件
7.根據文件權限和文件所有人查找
-perm 按照文件權限查找
-user (或者是-uid n n是用戶賬號的ID) 按照文件所有人查找
-group (或者是-gid n n是組名的ID)按照文件的所屬組查找
find -perm 664
//查找權限爲664的文件
find -perm +664
//查找權限爲大於664的文件
find -user mumu
//查找所有人爲mumu的文件
find -uid 2
//查找所有人爲賬號ID爲2的文件