find命令詳解

find命令詳解

基本介紹

find命令用來從目錄系統中查找文本
不同于locate,find不從數據庫中查找文件,所以find速度略遜于locate,但find是實時且準確的,而且不需要占用系統資源進行遍歷文件。 其標準格式如下

find [-H] [-L] [-P] [-D debugopts] [-O level] [path...] [expression]

[OPTION] 選項

  • -P 為默認選項 不跟隨顯示符號鏈接文件,只顯示符號鏈接文件本身
  • -H -L -D 并不常用,此處暫且不表。
  • -Olevel 可以進行優化配置,默認為1。(大寫o直接跟數字不帶空格) 總共有-O0 -O1 -O2 -O3 四階。其中-O0等同于-O1,-O1為默認選項 -O2和-O3用不到

[PATH. . .] 路徑

該文件路徑為文件查找的起始路徑,即在哪個文件下查找所需要的文件

[EXPRESSION] 表達式

find命令通過與表達式相匹配來鎖定要搜索的文件。常用表達式如下:

-name 按【文件名稱】查找文件,支持通配符,匹配文件的basename  -iname 同-name 忽略大小寫  -inum 按【inod號】查找文件  -samefile name 查找硬鏈接文件  -links n 查找鏈接數為n的文件  -regex “PATTERN” 使用正則表達式查詢文,此處正則表達式有異于grep的正則表達式,而且匹配的字符不是basename,而是/dirname/basename

根據文件屬主屬組查找

-user USERNAME 按【屬主】查找文件  -group GROUPNAME 按【屬組】查找文件  -uid UID 按【UID】查找文件  -gid GID 按【GID】查找文件  -nouser 查找無屬主的文件或目錄  -nogroup 查找無屬組的文件或目錄

根據文件類型查找

-type TYPE 查找特定文件類型的文件

其中文件類型包括

f 普通文件  

d 目錄文件  

l 符號鏈接文件  

s 套接字文件 b 塊設備文件  

c 字符設備文件 p 管道文件

根據文件大小查找

-size [+|-]#UNIT #代表數字;UNIT為常用文件大小單位:k、MG
#   代表范圍  (#-1,#]  +#  代表范圍  (0,#-1]  -#  代表范圍  (#,+∞)

根據時間戳查找
以“天”為單位

-atime[+|-]#   -mtime[+|-]#   -ctime[+|-]#

以“分鐘”為單位

-amin[+|-]#   -mmin[+|-]#   -cmin[+|-]#

這里的[+|-]#用法與文件大小的用法相同

#   代表范圍  (#-1,#]  +#  代表范圍  (0,#-1]  -#  代表范圍  (#,+∞)

根據文件權限查找

-perm /MODE  -perm -MODE  -perm MODE

MODE為數字格式表現的屬主屬組其他用戶的權限,例如:

775 代表 rwxrwxr-x 664 代表 rw-rw-r--
-perm /MODE 屬主、屬組、其他三者,滿足rwx其中任意一項即可匹配  -perm -MODE 屬主、屬組、其他三者都滿足rwx即可匹配  -perm MODE 屬主、屬組、其他權限與MODE完全相同

find命令的邏輯組合
find命令可以用邏輯命令匹配滿足多個條件的文件

-a            “與”運算,可以省略  -o            “或”運算  -not或者!    “非運算”

查找文件后的處理動作

-print 打印到屏幕上  -ls 打印到屏幕上 類似于“ls -l”  -delete 刪除制定查找的文件  -fls /PATH/TO/FILE 將查找到的內容輸出至文件FILE -ok COMMAND {} ;\ 對查找到的文件進行COMMAND指令,{}為前面文件查找內容,交互式動作之前會有提示  -exec COMMAND {} ;\ 對查找到的文件進行COMMAND指令,{}為前面文件查找內容,非交互式動作之前無提示

原創文章,作者:easyTang,如若轉載,請注明出處:http://www.www58058.com/72909

(0)
easyTangeasyTang
上一篇 2017-04-09
下一篇 2017-04-09

相關推薦

  • Jumpserver 3.0 全新改版 更輕、更快、更便捷

               Jumpserver Wiki                       &…

    系統運維 2016-01-05
  • N22期-第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost jimmy]# cp -r /etc/skel/ /home/tuser1 [root@localhost jimmy]#&nbsp…

    Linux干貨 2016-08-30
  • Zabbix 新版微信告警 [2017]

    Zabbix 新版微信告警 Zabbix 新版微信告警 date 2017-06-14zabbix Zabbix可以通過多種方式把告警信息發送到指定人,常用的有郵件,短信報警方式,但是越來越多的企業開始使用zabbix結合微信作為主要的告警方式,這樣可以及時有效的把告警信息推送到接收人,方便告警的及時處理。 關于郵件報警可以參考: Zabbix 使用腳本發送…

    2017-06-17
  • redis基礎配置

    主程序:redis-server 配置文件:/etc/redis.conf 目錄: 1.redis-cli命令 2.conf配置文件 3.主從復制原理與架構實現 4.redis的高可用方案 – sentinel 2.conf配置文件 #### GENERAL #### daemonize yes #以守護進程的方式運行 pidfile “/var…

    Linux干貨 2017-08-08
  • 馬哥教育網絡班21期+第11周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 首先發送方用單向加密的方法提取數據的特征碼,用自己的私鑰加密這段特征碼,并附加到數據的后面。 發送方用對稱加密算法把數據及特征碼整個進行加密。 發送方用接收發的公鑰加密對稱密鑰并附加到數據后面。 接收方用私鑰解密對稱密鑰。 接收方用對稱密鑰解密出數據及加密的特征碼。 接收方用發送方的公鑰解密特征碼,并用相同的算…

    Linux干貨 2016-10-09
  • 第七周:文件系統、raid、lvm和shell腳本練習

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@wlm ~]# fdisk /dev/sdb    #將/dev/sdb進行分區操作 D…

    Linux干貨 2016-11-07

評論列表(1條)

  • renjin
    renjin 2017-04-12 11:44

    寫的內容雖然不多,但卻很給人以精細感,主要介紹了find命令的用法,內容寫的很詳細,排版也很不錯

欧美性久久久久