命令行文件查找

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