Find:
做用:常在系統中做爲查找文件所用到的角色
語法:find 查找位置 查找類型 [查找後所執行的操做]
查找位置:絕對路徑或相對路徑
查找類型:
-name:根據文件名查找
-iname:不區分大小寫的方式查找,只支持?[]^等風格
-perm:精確權限查找,後邊接權限的掩碼值,掩碼值用法以下:
755:查找777權限的文件
/222:查找至少一類用戶有寫權限的文件
/002:查找其餘用戶有寫權限的文件
-222:查找三類用戶都有寫權限的文件
-user:以用戶名查找
-group:以組名查找
-nogroup:查找無屬組的文件
-nouser:查找無屬主的文件
-regex:匹配正則表達式進行查找,-iregex:匹配正則並忽略大小寫
-type:以文件類型查找
f:普通文件 d:目錄文件 b:塊設備文件 c:字符設備文件 l:連接文件 s:套接字符文件 p:管道文件
-size:以文件大小查找,包含K、M、G單位,正數表明大於,負數表明小於,整數表明等於
-atime:以訪問天數查找,正負整數同上
-mtime:以數據修改天數查找,正負整數同上
-amin:以訪問分鐘數查找,正負整數同上
-mmin:以數據修改分鐘數查找,正負整數同上
-empty:查找空文件
-follow:如find命令遇到符號連接文件,就跟蹤至連接所指向的文件中
-maxdepth:從指定目錄開始向下的幾層目錄開始查找
-newer:查找在此文件修改以前所修改的全部文件
處理動做:
-print:輸出到屏幕,不須要添加,默認輸出到屏幕
-ls:以ls長文件的格式輸出
-delete:將查找到的文件刪除
-fls 文件路徑:將查找到的文件以ls詳細信息的格式輸出到某個文件
-exec 命令 {} \; :將查找到的文件傳遞給shell命令進行處理,與此命令 (|xargs shell命令) 達到的目的相同
多個查找類型鏈接:
-a :在兩個查找類型中間,表示和
-o :在兩個查找類型中間,表示或
! :在查找類型前邊,表示非,與查找條件相反
實例:
1.以結尾的文件名進行查找;
find /etc/ -name ".conf"
2.以結尾的文件名(忽略大小寫)進行查找;
find /etc/ -iname ".conf"
3.以兩個名稱爲條件進行查找,符合其中一個名稱便可;
find /etc/ -name ".conf" -o -name ".txt"
4.配置正則表達式進行查找;
find . -regex ".(.txt|.pdf)$"
5.否認條件查找;
find /etc/ ! -name ".conf"
6.根據文件類型查找,查找目錄中的全部文件;
find /boot/ -type f
7.查找距當前目錄的往深的兩級目錄中的文件;
find /etc/ -maxdepth 2 -type f
8.查找七天內被訪問過的文件;
find /etc/ -type f -atime -7
9.查找七天前當天被訪問過的文件;
find /etc/ -type f -atime 7
10.查找七天前全部時間內被訪問過的文件;
find /etc/ -type f -atime +7
11.查找在修改此文件以前修改的全部文件;
find /etc/ -type f -newer /etc/fstab
12.根據文件大小進行查找,+5k表明大於5k、-5k表明小於5k、5k表明等於5k;
find /etc/ -type f -size +5k
13.查找空文件而且將其刪除,三種方式;
find /etc/ -empty -delete
find /etc/ -empty -exec rm -rf {} \;
find /etc/ -empty | xargs rm -rf
14.根據文件權限查找文件;
find /etc/ -type f -perm 777
15.查找出目錄中的後綴爲php,而且權限不是755的文件;
find /etc/ -type f -a -name ".php" -a ! -perm 755
16.查找出目錄中的日誌文件,而且其存在時間超過30天,將其複製到/tmp目錄下;
find /var/log/ -name "*.log" -a -mtime +30 -exec cp -rf {} /tmp/ \;php