find命令詳解

精細查找文件或目錄

    find  [ 查找範圍 ]  [ 查找條件表達式 ]

常用查找條件:

  • 按名稱查找:“-name”,支持通配符“*”、“?”
  • 按文件大小查找:“-size”,可使用“+”、“-”作為容量條件
  • 按文件屬主查找:“-user”
  • 按文件類型查找:“type”

例:

    find /etc/ -name "host*" //搜索/etc/目錄下所有以host開頭的文件或目錄

 

    find /etc/ -name "host?" //搜索/etc/目錄下所有以host開頭的文件或目錄

 

注:“*”匹配多個字符,“?”匹配單個字符

    find /etc/ -size +1M //搜索/etc/目錄下所有大於1M的文件或目錄

 

    find /etc/ -size -1M //搜索/etc/目錄下所有小於1M的文件或目錄

 

注:-size中k容量單位為小寫字母,其餘全為大寫;如“1k”、“1M”、“1G”等

    find /boot/efi/ -user root //搜索/boot/efi/目錄下所有創建者為root的文件或目錄

 

注:創建者即文件或目錄的所有者,一般為創建人,如root用户新增的文件所有者即為root,也可通過“chown”命令更改所有者

    find /etc/ -type d //搜索/etc/目錄下所有的目錄

 

注:除“d(目錄)”類型外,常見的還有“f(普通文件)”、“b(塊設備文件)”、“c(字符設備文件)”等;塊設備代表(硬盤、內存等)、字符設備代表(鍵盤等)

邏輯運算符:

  • -a:而且(and),顯示所有條件全部滿足的結果
  • -o:或者(or),顯示滿足其中一個條件的結果

    find / -type d -a -name vm* //搜索/下目錄並且開頭名為vm的目錄

 

    find / -type d -o -name vm* //搜索/下目錄或者/下以vm開頭的文件或目錄