find命令詳解

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/ \;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章