find命令用來在指定目錄下查詢檔案。linux下類似的查詢命令還有 which、locate、whereis。
區別:which查詢命令字所在的位置 eg. which ls
locate模糊匹配(只要是包含關鍵字的檔案都能查詢出來),不是實時的,基於資料庫查詢, updatedb 公升級 locate的資料庫,不公升級的話,一些新檔案可能找不到
由於基於資料庫查詢,所以速度特別快
whereis只能用於程式名的搜尋,而且只搜尋二進位制檔案(引數-b)、man說明檔案(引數-m)和源**檔案(引數-s)。如果省略引數,則返回所有資訊
find實時查詢、精確查詢、遍歷整個指定目錄中的檔案,速度很慢、支援多種查詢條件(屬主,屬組,許可權,檔名等)
語法:
find [ find_path ] [ 條件 ] [ 處理動作 ] ,中括號表示該選項可以不指定,有預設值
find_path: 如果不寫,預設在當前工作目錄查詢
條件:如果不寫,會查詢該路徑下所有的檔案
處理動作:預設列印到螢幕上 print
下面先介紹條件(匹配標準):
-name file_name : 根據檔名進行查詢,區分大小寫
-iname file_name : 根據檔名進行查詢,不區分大小寫
-regex pattern 根據正規表示式的模式進行查詢 //不常用
-user 通過屬主進行查詢
-group 通過屬組進行查詢
-uid uid 通過uid進行查詢 // 適用於 使用者刪除了,或者屬主是數字的情況
-gid gid 通過gid進行查詢 // 使用者刪除了,下乙個新建的使用者預設繼承刪除使用者的檔案的擁有權
-nouser 查詢屬主不是某使用者的檔案 查詢沒有屬主的檔案 // 比如刪除了使用者,檔案的屬主變成數字
-nogroup 查詢沒有屬組的檔案
-type 根據檔案型別進行查詢,下面是linux下各種檔案型別
-b 塊裝置
-c 字元裝置
-d 目錄
-f 普通檔案
-p 命名管道
-s 套接字檔案
-l 鏈結檔案
-size 根據檔案大小進行查詢 [ + | - ] k m g // k = kb, m=mb,g=gb,都是儲存大小的單位
-size 5k 精確匹配大小為5k的檔案
+ 大於
- 小於
根據時間戳進行查詢 [ + | - ]
-mtime 時間單位為天 // stat file_name 檢視檔案的時間戳
-atime: 時間單位為天
-ctime: 時間單位為天
-mmin: 時間單位為分鐘
-amin: 時間單位為分鐘
-cmin: 時間單位為分鐘
-perm 根據許可權查詢
-perm mode
mode: 644 ,精確匹配 三位都要匹配
/mode:任意一位匹配即可 // 不是精確匹配,是檔案許可權的某一位包含mode裡面的任意一位即可
-mode: 檔案許可權能夠完全包含此mode時才能匹配 eg. -644 則 644 744 655 都能匹配
條件組合:
-a 同時滿足多個條件 eg. find /tmp -user username -a -perm 644 // 相當於and
-o 滿足乙個條件即可 // 相當於 or
-not 不滿足條件的被查詢出來
查詢條件萬用字元
* 通配任意個數的任意字元
? 通配單個的任意字元 // 與擴充套件正則裡面的含義不一樣
然後介紹的是
處理動作 :
-print : 預設動作,查詢結果列印到螢幕
-ls 以類似於 ls -l 的形式顯示結果的資訊
-ok command {} \; 執行動作時提示使用者是否執行 , {}代表檔名佔位符
-exec command {} \; 執行動作時不提示使用者,直接執行
最後,這些並不是find的全部引數,但掌握上述的各種引數的用法也能滿足日常使用了
如果想深入了解,建議多用用man find 來 檢視 官方幫助文件。
Linux find命令詳解
在linux上查詢某個檔案確實是一件比較麻煩的事情。畢竟在linux中需要我們使用專用的 查詢 命令來尋找在硬碟上的檔案。linux下的檔案表達格式非常複雜,不象windows,dos下都是統一的aaa.bbb格式那麼方便查詢,在windows中,只要知道要查詢的檔案的檔名或者字尾就非常容易查詢到。...
linux find命令詳解
pathname find命令所查詢 的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄 print find命令將匹配的檔案輸出到標準輸出 exec find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為 command 注意和 之間的空格。ok 和 exec的作用相同,...
Linux find命令詳解
用法總結如下 find pathname options print exec ok pathname 查詢路徑 option 主要選項如下 name 按照檔名稱查詢 perm 按照檔案許可權查詢 prune 不在當前指定的路徑查詢。如果同時指定了 depth選項,則prune被忽略 user 按照...