1、find
命令作用:搜索文件或目錄
命令格式:find [搜索范圍] [匹配條件]
1.1、在指定路徑下搜索關(guān)鍵字對(duì)應(yīng)的文件或目錄
命令格式: find [搜索范圍] -name "[關(guān)鍵字] "
在/tmp/song目錄下面搜索qinghuaci.txt文件,執(zhí)行命令:
find /tmp/song/ -name "qinghuaci.txt"
此種查詢方式是全部匹配脖阵,并且大小寫(xiě)要一致掰邢。
1.2、在指定路徑下模糊匹配關(guān)鍵字對(duì)應(yīng)的文件或目錄
命令格式: find [搜索范圍] -name "*[關(guān)鍵字] *"
*通配符捡需,可以匹配任意字符。
- qing* 表示關(guān)鍵字是以qing開(kāi)頭筹淫;
- *qing 表示關(guān)鍵字是以qing結(jié)尾站辉;
- *qing*表示關(guān)鍵字中包含qing;
查詢以qing開(kāi)頭的文件或目錄损姜,執(zhí)行命令:
find /tmp/song/ -name "qing*"
查詢包含yaogun的文件或目錄饰剥,執(zhí)行命令:
find /tmp/song/ -name "*yaogun*"
?通配符,可以匹配任意一個(gè)字符摧阅。
- qingtian?? 表示關(guān)鍵字以qing開(kāi)頭汰蓉,后面跟兩個(gè)字符。
執(zhí)行命令:
find /tmp/song/ -name "qingtian??"
以上命令查詢都是嚴(yán)格區(qū)分大小寫(xiě)的棒卷。
如果想忽略大小寫(xiě)查詢 需要使用 -iname顾孽,執(zhí)行命令:
find /tmp/song/ -iname "tiantiande"
注意:最好不要在服務(wù)器運(yùn)行高峰時(shí)使用查找命令。find命令占用內(nèi)存較高比规,因此為了減少內(nèi)存使用岩齿。搜索的范圍越小越好,搜索條件越精準(zhǔn)越好苞俘。
1.3盹沈、根據(jù)所有者查找文件或目錄
命令格式:find [搜索范圍] -user [所有者名]
查找所有者為zhoujielun的文件或目錄,執(zhí)行命令:
find /tmp/song/ -user zhoujielun
1.4、根據(jù)所屬組查找目錄或文件
命令格式:find [搜索范圍] -group [所屬組名]
查找所屬組為shuaige的文件或目錄乞封,執(zhí)行命令:
find /tmp/song/ -group shuaige
1.5做裙、根據(jù)文件大小查找
命令格式:find [搜索范圍] -size {+-}[數(shù)據(jù)塊]
數(shù)據(jù)塊前面符號(hào)含義:
- +表示查找大于這個(gè)大小的文件;
- -表示查找小于這個(gè)大小的文件肃晚;
- 不加符號(hào)表示查找等于這個(gè)大小的文件(一般不用)锚贱;
數(shù)據(jù)塊大小說(shuō)明:一個(gè)數(shù)據(jù)塊=512字節(jié)=0.5K
因此要查找大于100MB的文件,數(shù)據(jù)塊應(yīng)該設(shè)置為100*1024/0.5=204800关串。
執(zhí)行命令:
find /etc -size +204800
從圖中可以看出來(lái)拧廊,并沒(méi)有大于100M和10M以上的文件。大于1M的文件有四個(gè)晋修。
1.6吧碾、根據(jù)時(shí)間查找被訪問(wèn)的文件或目錄
命令格式:find [搜索范圍] -amin {+-}[時(shí)間]
- a表示access;
- 時(shí)間單位是分鐘墓卦;
- +N表示N分鐘以前倦春,-N表示N分鐘以內(nèi);
查找/tmp/song目錄下面落剪,30分鐘以內(nèi)訪問(wèn)的目錄或文件睁本。執(zhí)行命令:
find /tmp/song/ -amin -30
1.7、根據(jù)時(shí)間查找被修改過(guò)屬性的文件和目錄
命令格式:find [搜索范圍] -cmin [時(shí)間]
c表示change忠怖,其中被修改過(guò)屬性可以理解為ls -l中的信息被更改呢堰。
執(zhí)行命令:
find /tmp/song -cmin -10
1.8、根據(jù)時(shí)間查找被修改過(guò)內(nèi)容的文件和目錄
命令格式:find [搜索范圍] -mmin [時(shí)間]
m表示modify凡泣。
執(zhí)行命令:
find /tmp/song -mmin -10
1.9暮胧、多條件同時(shí)查找
例如上面根據(jù)文件大小查找的命令。
查找大于10M的文件问麸,執(zhí)行命令:
find /etc -size +20480
查找小于100M的文件,執(zhí)行命令:
find /etc -size -204800
如果現(xiàn)在想同時(shí)查詢大于10M小于100M的文件钞翔,則需要使用命令進(jìn)行聯(lián)合查詢严卖。
- -a:同時(shí)滿足條件;
- -o:滿足其中的一個(gè)條件即可布轿;
執(zhí)行命令:
find /etc -size -204800 -a -size +20480
1.10哮笆、查找指定類型的文件
-type 根據(jù)不同類型查找
- f:文件;
- d:目錄汰扭;
- l:軟鏈接稠肘;
查找包含yao的目錄或文件,忽略文件大小寫(xiě)限制萝毛。執(zhí)行命令:
find /tmp/song/ -iname "*yao*"
在查找的同時(shí)指定只查找文件项阴,執(zhí)行命令:
find /tmp/song/ -iname "*yao*" -a -type f
在查找的同時(shí)指定只查找目錄,執(zhí)行命令:
find /tmp/song/ -iname "*yao*" -a -type d
因?yàn)橛?個(gè)條件需要同時(shí)滿足笆包,所以要使用-a連接命令环揽。并且使用-type來(lái)區(qū)分不同的文件類型略荡。
1.11、對(duì)查詢結(jié)果執(zhí)行命令
命令格式:find [搜索范圍] -name [關(guān)鍵字] -exec [其他命令] {} \;
參數(shù)說(shuō)明:
- -exec 對(duì)查找結(jié)果進(jìn)行命令操作歉胶;
- -ok 用于詢問(wèn)操作汛兜,一般在刪除操作的時(shí)候使用;
注意:在使用exec或ok命令的時(shí)候通今,其后面的{} \; 不能少粥谬。{}和\之間必須要有一個(gè)空格,\和;之間不能有空格辫塌。
執(zhí)行命令:
find /tmp/song/ -iname "*yao*" -a -type f -exec ls -l {} \;
執(zhí)行結(jié)果如下圖所示:
執(zhí)行命令:
find /tmp/song/ -iname "*yao*" -a -type f -ok rm {} \;
對(duì)于查找到的文件進(jìn)行刪除命令漏策,并且要提示。執(zhí)行結(jié)果如下圖所示:
1.12璃氢、根據(jù)i節(jié)點(diǎn)查找
命令格式:find [搜索范圍] -inum [i節(jié)點(diǎn)值]
執(zhí)行命令:
find /tmp/song/ -inum 663188 -ok rm {} \;
執(zhí)行結(jié)果如下圖所示:
從圖中可以看到哟玷,tiantiande這個(gè)文件的i節(jié)點(diǎn)值是663188 ,通過(guò)命令刪除后一也,再次查看巢寡,提示沒(méi)有文件或目錄了。