Linux檔案查詢之find命令

2022-08-02 05:12:12 字數 2101 閱讀 8873

一、語法格式

find [路徑] [選項] [操作]

二、選項

-name 根據檔名查詢 find ./etc -name *.conf

-iname(-i忽略檔名大小寫)ignore

-perm 根據檔案許可權查詢 find ./ -perm 777

-prune 可以排除某些查詢目錄

-user 根據檔案屬主查詢

-group 根據檔案屬組查詢

-mtime 根據檔案更改時間查詢

-n n天以內修改的檔案

+n n天以外修改的檔案

-mmin

-n n分鐘以內修改的檔案

+n n分鐘以外修改的檔案

-nogroup 查詢無有效屬組的檔案

-nouser 查詢無有效屬主的檔案

-newer file1 查詢更改時間比file1新檔案

-type 按檔案型別查詢

f 檔案 find ./ -type f

d 目錄 find ./ -type d

c 字元裝置檔案

b 塊裝置檔案

l 鏈結檔案

p 管道檔案

-size 按檔案大小查詢

-n  大小小於於n的檔案 find ./ -size +1m

+n 大小大於n的檔案 find ./ -size -100k

-mindepth n 從n級目錄開始搜尋

-maxdepth n 最多搜尋到n級子目錄

三、操作

-print 列印輸出(預設)

-exec 對搜尋到的檔案執行特定的操作,格式為-exec 'command' {} \;

-ok 和exec功能一樣,只是每次操作都會給使用者提示

#將/var/log/目錄下以log結尾的檔案,且更改時間在7天以上的刪除

find /var/log/ -name '*.log' -mtime +7 -exec rm -rf {} \;

邏輯運算子

-a 與

-o 或

-not 非

! 非find . -mtime n

n * 24

+1 表示 1 * 24 +24小時以外..

+0 表示 0 * 24 +24小時以外

1 表示 1*24 + 24 到 24 之間..

0 表示 0*24 + 24 到 0 之間..

-1 表示 0*24 +24 內,甚至為未來時間...

四、find、locate、whereis和which總結級適用場景分析

(1)find 在整塊磁碟中搜尋,預設全部匹配

(2)locate 在資料庫檔案中查詢,預設部分匹配(所屬軟體包mlocate---yum -y install mlocate)

updatedb命令

使用者更新/var/lib/mlocate/mlocate.db

所使用配置檔案/etc/updatedb.conf

該命令在後台cron計畫任務中定期執行

(3)whereis 查詢某個命令的二進位制程式檔案、幫助文件、源**檔案

-b 只返回二進位制檔案

-m 只返回幫助文件檔案

-s 只返回源**檔案

(4)which僅查詢二進位制程式檔案

-b 只返回二進位制檔案

各命令使用場景

find 查詢某一類檔案,比如檔名部分一致;功能強大,速度慢

locate 只能查詢單個檔案;功能單一,速度快

whereis 查詢程式的可執行檔案、幫助文件等;不常用

which 只查詢程式的可執行檔案;常用於查詢程式的絕對路徑

Linux 檔案查詢之 find 命令

對linux新手來說查詢檔案簡直是一大災難,現做乙個簡單的小結。通過完整檔名查詢 find 目錄 name 檔名 通過部分檔名查詢 find 目錄 name 引號 星號 我們還可以根據檔案大小 修改日期等檔案的特徵進行查詢 find size 1500c 指定系統在根目錄中查詢出1500位元組的檔案...

檔案查詢之 find

在指定目錄查詢符合條件的檔案 選項功能 name根據檔名查詢 type根據檔案型別查詢 詳細型別在後 perm根據檔案許可權查詢,比如 777 user根據屬主查詢 group根據屬組查詢 size根據檔案大小 maxdepth n最大搜尋層數 n 數字 o或者 a並且 預設就是 not表示式 非 ...

檔案查詢之 find

在指定目錄查詢符合條件的檔案 選項功能 name 根據檔名查詢 type 根據檔案型別查詢 詳細型別在後 perm 根據檔案許可權查詢,比如 777 user 根據屬主查詢 group 根據屬組查詢 size 根據檔案大小 maxdepth n 最大搜尋層數 n 數字 o 或者 a 並且 預設就是 ...