linux地柜查找文件_linux-find【递归搜索文件名】
1 命令格式:
$?find???
最常見示例:查找文件名(忽略大小寫)
$find?.?-iname?sqlquery.java
1.1 :
所要搜索的目錄及其所有子目錄。默認為當前目錄。find默認遞歸指定目錄。目錄可以有多個,目錄之間要用空格分開。
[admin@r42h06016.xy2.xxx.com]$find?/etc?/tmp?/root?-name?passwd
1.2 :
所要搜索的文件的特征。
[1]根據(jù)文件名查找
-name ???按照文件名查找
-iname ??根據(jù)文件名查找,但是不區(qū)分大小寫
-prune ? ?不在當前指定的目錄中查找
-depth ???在查找文件時,首先查找當前目錄中的文件,然后再在其子目錄中查找
[2]根據(jù)文件所屬用戶和組來查找文件-user? ? ?按照文件屬主來查找文件
$find?/?-user?fred??????//查找在系統(tǒng)中屬于FRED這個用戶的文件
-group ??按照文件所屬的組來查找文件
$find?/?-group?cat??????//查找在系統(tǒng)中屬于group組名cat的文件
[3]根據(jù)uid 和 gid來查找用戶-uid
#find??/tmp?-uid?500???????//查找uid是500?的文件
-gid
#find??/tmp?-gid?1000??????//?查找gid是1000的文件
[4]-a,-o,-not的使用-a ??? ?連接兩個不同的條件(兩個條件必須同時滿足)
#find?/tmp?-name?"*.sh"?-a?-user?root
-o ? ??連接兩個不同的條件(兩個條件滿足其一即可)
#find?/tmp?-name?"*.sh"?-o?-user?root
-not?對條件取反的
#find?/tmp?-not?-user?root
[5]根據(jù)文件時間戳的相關(guān)屬性來查找文件-atime? ?最近一次訪問時間 ? ? ?單位:天
-mtime?最近一次內(nèi)容修改時間 ?單位:天
-ctime??最近一次屬性修改時間 ?單位:天
-amin?? 最近一次訪問時間 ? ? ?單位:分鐘
-mmin??最近一次內(nèi)容修改時間 ?單位:分鐘
-cmin?? 最近一次屬性修改時間 ?單位:分鐘
-newer file1 ! file2?查找更改時間比文件file1新但比文件file2舊的文件
#find?/tmp?-atime?+5??//表示查找在五天內(nèi)沒有訪問過的文件
#find?/tmp?-atime?-5???//表示查找在五天內(nèi)訪問過的文件
[6]根據(jù)文件類型來查找文件-type?查找某一類型的文件
文件類型:
f 普通文件
d 目錄
l 符號鏈接文件
c 字符設(shè)備文件
p 管道文件
b 塊設(shè)備文件
s socket文件
#find?/tmp?-type?s
[7]根據(jù)大小來查找文件-size n[c]?查找文件長度為n塊的文件,帶有c時表示文件長度以字節(jié)計
#find?/tmp?-size??2M???????????//查找在/tmp?目錄下等于2M的文件
#find?/tmp?-size?+2M???????????//查找在/tmp?目錄下大于2M的文件
#find?/tmp?-size?-2M???????????//查找在/tmp?目錄下小于2M的文件
$find?.?-size?+1000000c????????//在當前目錄下查找文件長度大于1?M字節(jié)的文件
$find?/?-empty?????????????//查找在系統(tǒng)中為空的文件或者文件夾
[8]根據(jù)文件權(quán)限查找文件
-perm
#find?/tmp?-perm?755???????????//查找在/tmp目錄下權(quán)限是755的文件
#find?/tmp?-perm?+222??????????//表示只要有一類用戶(屬主,屬組,其他)的匹配寫權(quán)限就行
#find?/tmp?-perm?-222??????????//表示必須所有類別用戶都滿足有寫權(quán)限
[10]-nouser和-nogroup-nogroup?查找無有效所屬組的文件,即該文件所屬的組不存在
-nouser??查找無有效屬主的文件
#find?/?-nogroup?-a?-nouser????//在整個系統(tǒng)中查找既沒有屬主又沒有屬組的文件(這樣的文件通常是很危險的,作為系統(tǒng)工程師的我們應該及時清除掉)
$find?/?-nouser????????????//查找在系統(tǒng)中屬于作廢用戶的文件
1.3 :
對搜索結(jié)果進行特定的處理。
-print ? ??? ? ? ?//默認情況下的動作
-ls ??? ? ? ? ? ? //查找到后用ls 顯示出來
-ok [commend]?? ? //查找后執(zhí)行命令的時候詢問用戶是否要執(zhí)行
-exec [commend] ??//查找后執(zhí)行命令的時候不詢問用戶,直接執(zhí)行
注意-ok和-exec命令將命令行上后續(xù)的參數(shù)作為他們參數(shù)的一部分,直到被\;序列終止。魔術(shù)字符串{}是-ok和-exec命令的一個特殊類型的參數(shù),它將被當前文件的完整路徑取代。
#find?/tmp?-atime?+30?–exec?rm?–rf?{}?\;?//刪除查找到的超過30天沒有訪問過文件
這里要注意{ }的使用:替代查找到的文件
#find?/tmp?-name?"*.old"?|?xargs?chmod?700
2 命令舉例
搜索/etc目錄下的文件名包含del的文件。
$find?/etc?-name?'*del*'
系統(tǒng)查找到"config.py"文件后即時在屏幕上顯示"config.py"文件信息。
$find?.?-name?"config.py"?-ls
搜索當前目錄中,所有過去10分鐘中更新過的普通文件。如果不加-type f參數(shù),則搜索普通文件+特殊文件+目錄。
$?find?.?-type?f?-mmin?-10
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux地柜查找文件_linux-find【递归搜索文件名】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java正则表达式对象_Java正则表达
- 下一篇: linux eclipse java_实