文件搜索命令
文件搜索命令會(huì)占用大量的系統(tǒng)資源,尤其是在系統(tǒng)訪問的高峰期,盡量少使用文件搜索命令,盡量把自己的目錄結(jié)構(gòu)劃分的清晰易找
使用文件搜索命令時(shí),搜索范圍越小越好,搜索條件越準(zhǔn)確越好
文件搜索命令find
命令名稱:find
命令所在路徑:/bin/find
執(zhí)行權(quán)限:所有用戶
功能描述:文件搜素
語法:find [搜索范圍] [匹配條件]
find命令的常用選項(xiàng)和匹配條件
1.根據(jù)文件名查找
準(zhǔn)確查找:
find /etc -name init 在目錄/etc下查找文件(目錄)init
-iname(ignore) 不區(qū)分大小寫查找
模糊查找:
通配符:*匹配任意的字符,?匹配單個(gè)字符
find /etc -name *init* ?在目錄/etc下查找文件名中包含init的文件(目錄)
find /etc -name init?? ?在目錄/etc下查找文件名以init開頭,后面有兩個(gè)字符的的文件(目錄)
2.根據(jù)文件大小查詢
find / -size +204800 在根目錄查找文件大小大于100MB的文件(目錄)
+n 大于n;-n 小于n;n 等于n
命令中文件大小的單位是數(shù)據(jù)塊,Linux中文件存儲(chǔ)的最小單位是數(shù)據(jù)塊,一個(gè)數(shù)據(jù)塊大小為512B,lKB=兩單位的數(shù)據(jù)塊,100MB = 100*1024KB = 100*1024*2個(gè)數(shù)據(jù)塊
3.根據(jù)文件的所有者/用戶組查找
find /home ?-user girl 在home目錄下查找所有者為girl的文件(目錄)
-group 根據(jù)所屬組查找
4.根據(jù)時(shí)間屬性查找
?find /etc -cmin -5 在/etc下找5分鐘內(nèi)被修改過屬性的文件
-amin(access) 訪問時(shí)間
-cmin(change)文件屬性
-mmin(modify)文件內(nèi)容
5.對(duì)查詢結(jié)果執(zhí)行操作
find /etc -name init* -exec/-ok ls -l {} \; 查找/tec下以init開頭的文件(目錄)并顯示他們的詳細(xì)信息,{}和\之間有空格
-exec和-ok的區(qū)別:
-exec 對(duì)查詢出的結(jié)果集進(jìn)行一次性操作
-ok 對(duì)查詢出的結(jié)果集中的每個(gè)結(jié)果操作前都要進(jìn)行確認(rèn)
6.根據(jù)文件類型查找
find /etc -name init* -type f 查找/etc下以init開頭的文件
f 文件;d 目錄;l軟鏈接
8.根據(jù)i節(jié)點(diǎn)查找
find -inum 55235 查找i節(jié)點(diǎn)為55235的文件(目錄)
此命令可以用來查看一個(gè)文件是否有硬鏈接
9.多條件查詢
在兩個(gè)條件之間使用選項(xiàng)-a(and)或者-o(or)
find /etc -size +163840 -a -size -204800 查詢/etc下大于80M小于100M的文件(目錄)
其他文件搜索命令
1.命令名稱:locate
命令所在路徑:/usr/bin/locate
執(zhí)行權(quán)限:所有用戶
功能描述:在文件資料庫中中查找出文件
語法:locate [文件名]
-i 不區(qū)分大小寫
find命令會(huì)搜索整個(gè)文件系統(tǒng),速度較慢;locate是直接在文件資料庫中查找文件,速度很快;但如果一個(gè)新建文件沒有更新添加到文件資料庫,locate命令查不到該文件,此時(shí)必須要使用updatedb命令手動(dòng)更新
有些目錄下的文件是不收錄在文件資料庫的,如/temp臨時(shí)目錄下的文件使用locate命令查不到
locate locate命令能查詢到文件資料庫的位置,/var/lib/mlocate/mlocate.db
2.命令名稱:which
命令所在路徑:/usr/bin/which
執(zhí)行權(quán)限:所有用戶
功能描述:搜索命令所在目錄及別名信息
語法:which [命令]
上圖所示,rm命令的別名為rm,-i表示在執(zhí)行操作是進(jìn)行詢問操作;命令所在路徑/bin/rm,所以在執(zhí)行刪除文件操作時(shí)輸入的命令是該命令的的別名,刪除前會(huì)進(jìn)行查詢操作;如果直接使用/bin/rm命令,則不會(huì)有詢問操作,直接將文件刪除
3.命令名稱:whereis
命令所在路徑:/usr/bin/whereis
執(zhí)行權(quán)限:所有用戶
功能描述:搜索命令/配置文件所在目錄及其幫助文檔路徑
語法:whereis [命令/配置文件]
passwd查詢結(jié)果有兩條,分別是passwd命令和passwd配置文件的路徑及各自幫助文檔的路徑,其中文檔路徑中,1代表命令幫助,5代表配置文件幫助
3.命令名稱:grep
命令所在路徑:/bin/grep
執(zhí)行權(quán)限:所有用戶
功能描述:在文件中搜索字符匹配的行并輸出
語法:grep [-iv] [指定字符串] [文件]
-i 忽略大小寫
-v 排除指定字符串
grep -v ^# /etc/inittab 排除首行是#開頭的注釋;Linux文檔中,以#開頭的內(nèi)容是注釋
?
轉(zhuǎn)載于:https://www.cnblogs.com/qingyaxuan/p/6644021.html
總結(jié)
- 上一篇: Rails 定时任务——whenever
- 下一篇: HashMap负载因子