linux的find命令詳解

一丶概述

1.find的簡介及優缺點

 find命令主要用於文件搜索,它的功能非常強大,可以根據不同的標準搜索任何文件,可以在任何位置進行檢索。

優點:
• 精確查找
• 實時查找
缺點
•查找速度略慢
• 可能只搜索此用戶具備讀取和執行權限的目錄

2.find語法

find [OPTION]... [查找路徑] [查找條件] [處理動作]

查找路徑:指定具體目標路徑;默認爲當前目錄
查找條件:指定的查找標準,可以文件名、大小、類型、
權限等標準進行;默認爲找出指定路徑下的所有文件
處理動作:對符合條件的文件做操作,默認輸出至屏幕

二丶條件及處理

1.條件

1.1根據文件名和inode查找:

-name "文件名稱":支持使用glob

[root@centos7 etc]# find /etc/ -name pa**wd
/etc/pam.d/passwd
/etc/passwd

-iname "文件名稱":不區分字母大小寫

[root@centos7 etc]# find /etc/ -iname pAs?wd
/etc/pam.d/passwd
/etc/passwd

-inum n 按inode號查找

[root@centos7 etc]# find /etc/ -inum 34663493
/etc/passwd

links n 鏈接數爲n的文件

  [root@centos7 etc]# find -links 2

1.2根據屬主、屬組查找:

-user USERNAME:查找屬主爲指定用戶(UID)的文件

[root@centos7 app]# find /app/ -user root
/app/
/app/jiaoben
/app/jiaoben/ksjiaoben

-group GRPNAME: 查找屬組爲指定組(GID)的文件

[root@centos7 app]# find /app/ -group root
/app/
/app/jiaoben
/app/233.sh
/app/passwd

-uid UserID:查找屬主爲指定的UID號的文件

[root@centos7 app]# find /app/ -uid 1000

-gid GroupID:查找屬組爲指定的GID號的文件

[root@centos7 app]# find /app/ -gid 1000

-nouser:查找沒有屬主的文件

[root@centos7 app]# find /app/ -nouser

-nogroup:查找沒有屬組的文件

[root@centos7 app]# find /app/ -nogroup

1.3根據文件類型查找:

-type TYPE:
f: 普通文件
d: 目錄文件
l: 符號鏈接文件
s: 套接字文件
b: 塊設備文件
c: 字符設備文件
p: 管道文件
    find /dev/ -type c

1.4根據時間戳:

1.4.1以“天”爲單位:

-atime [+|-]#,
#: [#,#+1)
+#: [#+1,∞]
-#: [0,#)
(注: [ 爲包括此數字,)爲不包括此數字)

-mtime
-ctime

[root@centos7 app]# find /app/ -mtime 7
(此爲顯示從7天到第8天內的所有文件目錄【包含第七天,不包括第八天】)

1.4.2以“分鐘”爲單位:

(基本同上)

  -amin
  -mmin
  -cmin

5.根據權限查找:

MODE: 精確權限匹配
/MODE:任何一類(u,g,o)對象的權限中只要能一位匹配
即可,或關係,+ 從centos7開始淘汰
-MODE:每一類對象都必須同時擁有指定權限,與關係
0 表示不關注
• find -perm 755 會匹配權限模式恰好是755的文件
• 只要當任意人有寫權限時,find -perm +222就會匹配
• 只有當每個人都有寫權限時,find -perm -222纔會匹配
• 只有當其它人(other)有寫權限時,find -perm -002才
會匹配

2.處理動作

-print:默認的處理動作,顯示至屏幕
-ls:類似於對查找到的文件執行“ls -l”命令

[root@centos7 app]# find /app/ -name passwd -ls

delete:刪除查找到的文件

    [root@centos7 app]# find /app/ -name passwd -delete 

fls file:查找到的所有文件的長格式信息保存至指定文件中

[root@centos7 app]# find /app/ -name passwd > passwdfile

ok -exec ok交互式,exec直接運行

find -name ".tmp" -ok rm -f {} \;
find -type f -name "
.sh" -exec chmod a+x {} \;
find -name "*.conf" -exec cp -i {} {}.bak \;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章