命令所在路徑/bin/find
描述:
find命令用來在目錄結(jié)構(gòu)中查找文件所在位置迂求,并執(zhí)行相應(yīng)的操作攀甚。
語法:
find 搜索路徑 搜索選項(xiàng) 執(zhí)行動(dòng)作
參數(shù)說明:
搜索路徑:指明從哪里開始查找盯荤,find會(huì)遞歸地搜索其包含的所有子目錄;
搜索選項(xiàng):指明查找內(nèi)容;
執(zhí)行動(dòng)作:指明一量找到所要的文件如何處理萌腿。
常用的搜索選項(xiàng):
- 按文件名
-name 按照文件名查找,支持通配符 "*" 和 "?"
-iname 按照文件名查找讥珍,文件名不區(qū)分大小寫
eg:
// 搜索/etc 下文件名為init的文件
find /etc -name init
- 按文件屬性(通過ls可以看到的文件屬性)
-amin 訪問時(shí)間 access
-cmin 文件屬性 change
-mmin 文件內(nèi)容 modify
eg.
// 在/etc下查找 5分鐘內(nèi)被修改文件屬性的文件和目錄
find /etc -cmin -5
- 按文件類型
-type filetype
filetype可以是:f(普通文件) d(目錄文件) l(軟鏈接文件) b(塊設(shè)備文件) p(管道文件) c(字符設(shè)備文件)
- 按文件大欣(單位為數(shù)據(jù)塊)
//查找文件長(zhǎng)度為n塊的文件
// +n(大于) -n(小于) n(等于)
-size n
eg.
//查找根目錄下大于100MB的文件
find / -size +204800
/**
1數(shù)據(jù)塊 = 512字節(jié) = 0.5K
1K = 2數(shù)據(jù)塊
100MB = 102400KB = 204800數(shù)據(jù)塊
*/
- 根據(jù)i節(jié)點(diǎn)
-inum
eg.
find . -inum 31531
// 刪除當(dāng)前目錄下i節(jié)點(diǎn)為31531的文件
find . -inum 31531 -exec rm {} \;
//當(dāng)使用文件名刪除不了文件時(shí),可使用此方法
//可通過i節(jié)點(diǎn)的方式查找該文件的硬鏈接
/**
ls -i 查看文件的i節(jié)點(diǎn)
*/
- 按訪問天數(shù)
-atime n 查找n天前訪問過的文件
-mtime n 查找n天前修改過的文件
//n表示正好第n天
//+n表示n天之前
//-n表示n天之后
-user username 按所有者查找
-group groupname 按文件所屬組查找
常用的執(zhí)行動(dòng)作:
//對(duì)找到的文件執(zhí)行command命令
-exec command {} \;
//和-exec命令作用相同衷佃,但在執(zhí)行命令前要求確認(rèn)
-ok command {} \;
eg.
// 在/etc下查找init文件并顯示其詳細(xì)信息
find /etc -name init -exec ls -l {} \;
find /etc -name init* -a -type f -exec ls -l {} \;
-a 兩個(gè)條件同時(shí)滿足
-o 兩個(gè)條件滿足任意一個(gè)即可
eg.
//在/etc下查找大于80MB小于100MB的文件
find /etc -size +163840 -a -size -204800