Linux下的find命令詳解

Linux下的find命令詳解

在linux下有兩種查找符合條件文件的命令,是locate和find。我們來說說find這個命令。

find:

  • 實時查找工具,遍歷查找指定路徑下的所有的文件來找到符合條件的文件。
  • 特點:查找文件比locate速度略慢,查找文件很精確,并且是實時進行查找的。
  • 使用方法:find [OPTIONS] [查找起始路徑] [查找條件] [處理動作]
  • 查找時的起始路徑:默認是當前目錄,或者是指定具體要搜索目標的起始路徑。
  • 查找條件:可以根據文件名、文件大小、文件類型、從屬關系、權限等標準來進行查找。默認為查找指定路徑下的所有文件。
  • 處理動作:對找到符合條件的文件做之后的處理操作,比如刪除、修改等,默認是輸出到標準輸出。

按照文件名來查找:

  • -name “pattern” — 按照字符串來查找
  • -iname “pattern” — 不區分文件名的大小寫來查找,支持glob風格的通配符(* ? [ ] [^})
  • -regex pattern — 按照正則表達式模式來查找,查找的是整個文件路徑,而不是文件名。

按照文件從屬關系查找:

  • -user USERNAME:查找屬主指定用戶的所有文件;
  • -group GRPNAME:查找屬組指定組的所有文件;
  • -uid UID:查找屬主指定的UID的所有文件;
  • -gid GID:查找屬組指定的GID的所有文件;
  • -nouser:查找沒有屬主的文件;
  • -nogroup:查找沒有屬組的文件;

按照文件類型查找:-type TYPE

  • f: 普通文件
  • d: 目錄文件
  • l:符號鏈接文件
  • b:塊設備 文件
  • p:管道文件
  • s:套接字文件

組合語句時用的邏輯選項:

  • 與:-a, 默認為這個組合邏輯;
  • 或:-o
  • 非:-not, !

按照文件大小查找:

  • 格式:-size [+|-]#UNIT
  • 常用單位:k, M, G
  • #UNIT:(#-1,#]
  • -#UNIT:[0,#-1]
  • +#:(oo,#-1]

按照時間戳查找:

以“天”為單位:

  • -atime
  • -mtime
  • -ctime

以“分鐘”為單位:

  • -amin
  • -mmin
  • -cmin

按照權限查找:

  • 格式:-perm [/|-]mode
  • mode:精確權限匹配;
  • /mode:任何一類用戶(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足;9位權限之間存在“或”關系;
  • -mode:每一類用戶(u,g,o)的權限中的每一位(r,w,x)同時符合條件即滿足;9位權限之間存在“與”關系;

一些處理動作:

  • -print:輸出至標準輸出;默認的動作;
  • -ls:類似于對查找到的文件執行“ls -l”命令,輸出文件的詳細信息;
  • -delete:刪除查找到的文件;
  • -fls /PATH/TO/SOMEFILE:把查找到的所有文件的長格式信息保存至指定文件中;
  • -ok COMMAND {} \; :對查找到的每個文件執行由COMMAND表示的命令;每次操作都由用戶進行確認;
  • -exec COMMAND {} \; :對查找到的每個文件執行由COMMAND表示的命令;

注意:find傳遞查找到的文件路徑到后面的命令時,是查找出所有符合的文件路徑并一次給后面;
有些命令不能接受過長的參數,用另外一種方式避免此問題: find | xargs COMMAND

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92735

(1)
華龍華龍
上一篇 2018-03-20 12:07
下一篇 2018-03-20 17:23

相關推薦

  • 內核編譯

    內核編譯 程序包的編譯安裝 ./configure,make,make install./configure檢查編譯環境依賴關系,并設定參數make 執行編譯操作make install 安裝二進制庫文件幫助文檔配置文件 前提:開發環境(開發工具,開發庫),頭文件:/usr/include 開源:源代碼 發行版,就是把源代碼拿過來,組織成程序。  …

    Linux干貨 2016-09-19
  • Linux介紹

    Linux簡介 Linux是一種自由和開放源代碼的類UNIX操作系統。該操作系統的內核由林納斯·托瓦茲在1991年10月5日首次發布。在加上用戶空間的應用程序之后,成為Linux操作系統。Linux也是自由軟件和開放源代碼軟件發展中最著名的例子。只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布。…

    Linux干貨 2016-10-28
  • N25-第1周博客作業

    計算機概述及命令 一、計算機原理及其組成功能 計算機作為一個整體,由軟件和硬件兩大部分組成:  (1)計算機硬件系統。        計算機的硬件系統結構有哈佛結構和馮·諾伊曼結構兩種。 哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。中央處理器首先到程序指令存儲器中讀取程序指令內…

    Linux干貨 2016-12-03
  • 文件權限

    文件權限 文件屬性       rw-r–r–表示文件權限     Root 表示文件所有者     Root 表示文件所屬組     0 表示文件的大小 …

    Linux干貨 2016-08-11
  • UEFI與GPT(7.3課上作業)

    一、UEFI:統一可擴展固件接口 1、什么是UEFI         統一可擴展固件接口(Unified Extensible Firmware Interface,UEFI)是一種PC系統規格,用來定義操作系統與系統固件之間的軟件界面,作為BIOS的替代方案。UEFI負責加電自…

    Linux干貨 2016-07-12
  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干貨 2016-12-13
欧美性久久久久