在日常中,find的使用頻率很高,熟練掌握對提供工作效率很有幫助。
語法:
find(選項)(參數)
1、列出當前目錄以及目錄下的所有文件
find .
2、找到當前目錄下名字爲 11.png 的文件
find . -name "11.png"
3、找到當前目錄下所有的 jpg 文件
find . -name "*.jpg"
4、找到當前目錄下的 jpg 文件和 png 文件
find . -name "*.jpg" -o -name "*.png"
5、找到當前目錄下不是以 png 結尾的文件
find . ! -nam "*.png"
6、根據正則表達式查找
比如:查找當前目錄下,文件名都是數字的 png 文件
find . -regex "\./*[0-9]+\.png"
7、根據路徑查找
找到當前目錄下路徑中包含 swj 的文件/路徑
find . -path "*swj*"
8、根據文件類型查找
查找當前目錄下,路徑包含 swj 的文件
find . -type f -path "*swj*"
9、限制搜索深度
查找當前目錄下所有的 png,不包括字目錄
find . -maxdepth 1 -name "*.png"
相應的, mindepth 也是選項
find . -mindepth 2 -name "*.png"
10、根據文件大小
通過 -size 來過濾文件大小,支持的單位如下
- b - 塊(512字節)
- c - 字節
- w - 字 (2字節)
- k - 千字節
- M - 兆字節
- G - 吉字節
找出當前目錄下文件大小超過 100M 的文件
find . -type f -size +100M
find ./ -size +100MB
11、根據訪問/修改/變化時間
- 訪問時間(-atime/天,-amin/分鐘):用戶最近一次訪問時間
- 修改時間 (-mtime/天, -mmin/分鐘): 文件最後一次修改時間
- 變化時間 (-ctime/天, -cmin/分鐘):文件數據元(例如權限的過)最後一次修改時間
找出 1天內被修改過的文件
find . -type f -mtime -1
找出最近1周內被訪問過的文件
find . -type f -atime -7
12、根據權限
通過 -perm 來實現
找出當前目錄下權限爲777的文件
find . -type f -perm 777
找出當前目錄下權限不是644的php文件
find . -type f -name "*.php" ! -perm 644
13、根據文件擁有者
找出文件擁有者爲 root 的文件
find . -type f -user root
找出文件所在羣組爲 root 的文件
find . -type f -group root