1. 程式人生 > >find文件查找

find文件查找

文件大小 upn ted 刪除文件 查找條件 服務 模糊 忽略文件 缺點

一、locate

locate基於數據庫索引來查找文件,數據庫在開機時一段時間對更新,不會實時更新,數據庫存放在(/var/lib/mlocate/mlocate.db),可以用updatedb來手動更新數據庫。

優缺點:

  1. 查找速度快
  2. 模糊查找
  3. 非實時查找
  4. 搜索的是文件的全路徑
  5. 只搜索用戶具備讀權限和執行權限的目錄

locate KEYWORD

選項:

-i:不區分關鍵字大小寫

-n #:打印匹配到的前#行

-r:使用正則表達式

二、find

find查找會實時遍歷磁盤,對服務器性能會有很大影響,使用時應該註意服務器的負載

優缺點:

  1. 查找速度慢,影響性能
  2. 精確查找
  3. 實時查找
  4. 只搜索用戶具備讀權限和執行權限的目錄

find 【查找路徑範圍】【選項】【查找條件】【處理操作】

查找路徑,默認為當前工作路徑

1、查找條件

可以指定查找文件的文件名、大小、類型、權限等等指定條件

  1. --maxdepth #:最大搜索目錄深度
  2. --mindepth #:最小搜索目錄深度
  3. -name:指定文件名
  4. -iname:忽略文件名大小寫
  5. -inum #:指定inode號
  6. -samefile FILE:指定和另一個文件相同的inode號,查找一個文件的硬鏈接
  7. -links #:指定查找有#個鏈接數的文件
  8. -regex "PATTERN":使用正則表達式匹配
  9. -user USERNAME:查找指定所屬者的文件
  10. -group GROUPNAME:查找指定所屬組的文件
  11. -uid UID:查找指定UID的文件
  12. -gid GID:查找指定GID的文件
  13. -nouser:查找沒有所屬者的文件
  14. -nogroup:查找沒有所屬組的文件
  15. -type:根據文件類型查找
    • f:普通文件
    • d:目錄
    • l:符號鏈接
    • s:套接字文件
    • b:快文件
    • c:字符文件
    • p:管道文件
  16. -empty:查找空文件
  17. -size:按文件大小查找(c,k,M,G)
    • #:(#-1,#]
    • -#:[0,#-1]
    • +#:(#,+∞)
  18. -atime:按文件各時間查找(天)
    • #:[#,#+1)
    • +#:[#+1,∞]
    • -#:[0,#)
  19. -mtime
  20. -ctime
  21. -amin:按文件各時間查找(分鐘)
  22. -mmin
  23. -cmin
  24. -perm 權限匹配
    • MODE 精確匹配
    • /MODE ugo是或者的關系
    • -MODE ugo是並且的關系,包含關系
  25. 組合添加查找
    • -a:並且
    • -o:或者
    • -not|!:不是

2、處理操作

對匹配到的文件做相應的操作,默認操作為輸出到終端

-print:默認處理,打印到終端

-ls:以長格式列出文件

-delete:刪除文件,不提示!

-fls NEWFILE:將長格式的文件列表保存到NEWFILE == -ls >NEWFILE

-ok CMD {} \;:指定處理動作,提示

-exec CMD {} \;:指定處理動作,不提示!

記錄於2018.4.12 11:57

find文件查找