find 搜索文件的命令格式
find [搜索范圍] [匹配條件]
選項:
-name 根據名字查找
-size 根據文件大小查找, +,-:大於設置的大小,直接寫大小是等於
-user 查找用戶名的所有者的所有文件
-group 根據所屬組查找相關文件
-type 根據文件類型查找(f文件,d目錄,l軟鏈接文件)
-inum 根據i節點查找
-amin 訪問時間access
-cmin 文件屬性change
-mmin 文件內容modify
2
find 搜索目錄 -name 目標名字
find / -name file
/代表是全盤搜索,也可以指定目錄搜索
3
我們這樣搜索看到的都是file的完全匹配,區分大小寫的
我們可以用-iname不區分大小寫
find / -iname file
這樣我們就可以多查找到大寫的相關文件了
4
上面發現是文件名完全匹配,我們可以通過通配符來查找相關的文件,通配符的相關使用,可以查看Shell編程-通配符
5
我們先使用*通配符來匹配下包含file的相關文件
區分大小寫的
find / -name *file*
不區分大小寫的
find / -iname *file*
這樣匹配的話文件就比較多了,越精准的匹配越有利於我們的查找
6
find 搜索目錄 -size 文件大小
這里的文件大小我們常見的有點不一樣,這個大小是數據庫,一個數據庫等於512個字節,也就是0.5KB,所有1KB等於2個數據塊
下面我們查找下大於100MB的文件,應該實際是102400KB*2,所有搜索命令為
find / -size +204800
-號是小於
直接寫數字就是等於
7
find 搜索目錄 -user 用戶名
這里是查找屬於用戶名為user1的文件
linux如何添加刪除用戶名,可以參考Linux 用戶管理命令
find / -user user1
8
find 搜索目錄 -type d
查找某個目錄下的所有目錄
find /tmp -type d
9
find 搜索目錄 -cmin -時間(單位分鍾)
查找etc下面1小時內被修改的文件,根目錄下面太多了,指定一個目錄
find /etc -cmin -60
10
當然find命令是可以多個選項一起添加查詢的
-a 是前后條件都要滿足
-o 是滿足一個條件就好
例如剛剛的文件查找,60分鍾內被修改的文件,並且文件名字包含conf的,我們可以這樣寫
find /etc -cmin -60 -a -name *conf
這樣我們可以清除的看到被過濾掉的文件