語 法: find [選項] [引數]
find[
指定查詢目錄
][查詢規則
][查詢完後執行的
action]
find指令在指定目錄下查詢檔案。find指令還能夠對查詢到的檔案執行指定的操作,這種功能是通過呼叫其他linux指令來實現的。使用find指令時必須指定乙個查詢的起始目錄,find指令將從指定目錄向下遞迴地遍歷其各個子目錄,將滿足查詢條件的檔案顯示在標準輸出裝置(通常是顯示終端)或者對這些檔案採取指定的操作
選項說明:
選 項
功 能
-name <
查詢模式
>
按照指定的檔名查詢模式查詢檔案
-lname <
查詢模式
>
按照指定的檔名查詢模式查詢符號鏈結
-gid <
組id>
查詢屬於指定組
id的所有檔案
-uid <
使用者id>
查詢屬於指定使用者
id的所有檔案
-group <
組名》查詢屬於指定組名的所有檔案
-user <
使用者名稱》
查詢屬於指定使用者名稱所有的檔案
-empty
查詢檔案大小為
0的目錄或檔案
-path <
查詢模式
>
按照指定的路徑查詢模式查詢檔案
-perm <
許可權模式
>
按照指定的許可權模式的查詢檔案和目錄
ize <
檔案大小
>
按照指定的檔案大小查詢檔案。
「檔案大小」的預設單位為塊
(每塊512位元組)
-type <
檔案型別
>
按照指定的檔案型別查詢檔案,
支援的檔案型別如下:
b 塊裝置檔案(
block device
); c
字元裝置檔案(
character device
); d
目錄(directory
);p
命名管道(
fifo
); f
普通檔案;
l 符號鏈結檔案(
symbolic links
); s
網路套接字檔案(
socket)
-xtype <
型別》僅查詢符號連線檔案,其他功
能與「-type
」選項相同
-amin <
分鐘數》
查詢指定「分鐘數」以前被訪問過的所有檔案
-atime <
天數》查詢指定「天數」以前被訪問過的所有檔案
-cmin <
分鐘數》
查詢指定「分鐘數」以前被修改
過檔案狀態的所有檔案
-ctime <
天數》查詢指定「天數」以前被修改過
檔案狀態的所有檔案
-mmin <
分鐘數》
查詢指定「分鐘數」以前被修改
過檔案內容的所有檔案
-mtime <
天數》查詢指定「天數」以前被修改過
檔案內容的所有檔案
-exec
指令名稱
{} \;
用指定的
linux
指令操作查詢到的檔案。
「{}」表示將查詢到的檔案作為
linux
指令的引數;「
\;」是固定字元,放在
find
指令的最後。提示使用者進行確認
-ok
指令名稱
{} \;
用指定的
linux
指令操作查詢到的檔案。
語法與「
-exec
」選項相同。直接執行
操作而不提示使用者進行確認
-ls詳細列出找到的檔案
-fprintf <
檔名》
不在終端列印查詢到的檔案資訊,
而是其儲存到指定的檔案中
在標準輸出裝置上顯示查詢到的文
件資訊,這是預設選項,可以省略
-printf <
格式》指定顯示查詢結果的格式,與c語
言的「printf
」函式格式輸出語法相似
例項:
1. 查詢/etc /tmp 下名為passwd的檔案
find /etc /tmp -name passwd
2. 根據屬組來找
find/tmp-uid500//
查詢uid
是500
的檔案find/tmp-gid1000 //
查詢gid
是1000
的檔案3. find和-a and-o and –not
的使用
find /tmp -not -usr root
4.根據檔案時間戳的相關屬性來查詢文
find /tmp –atime +5 //
表示查詢在五天內沒有訪問過的檔案
find /tmp -atime -5 //
表示查詢在五天內訪問過的檔案
5.根據檔案許可權查詢
find /tmp -perm 755 //查詢在/tmp目錄下許可權是755的檔案
find /tmp -perm +222 //表示只要有一類使用者(屬主,屬組,其他)的匹配寫許可權就行
find /tmp -perm -222 //表示必須所有類別使用者都滿足有寫許可權
6.根據大小來查詢檔案
find /tmp -size 2m //查詢在/tmp 目錄下等於2m的檔案
find /tmp -size +2m //查詢在/tmp 目錄下大於2m的檔案
find /tmp -size -2m //查詢在/tmp 目錄下小於2m的檔案
7. -nouser
and-nogroup
find/-nogroup –a –nouser//
在整個系統中查詢既沒有屬主又沒有屬組的檔案(這樣的檔案通常是很危險的,作為系統工程師的我們應該及時清除掉)
8. [
查詢完執行的
action]
# -print //預設情況下的動作
# -ls //查詢到後用ls 顯示出來
# -ok [commend] //查詢後執行命令的時候詢問使用者是否要執行
# -exec [commend] //查詢後執行命令的時候不詢問使用者,直接執行
find/tmp-atime+30–exec rm –rf{}\;#
刪除查詢到的超過
30天沒有訪問過檔案
find /tmp -name "*.old" | xargs chmod 700
Linux find命令使用
1 查詢 var logs目錄中更改時間在7天前的普通檔案 2 在當前目錄下查詢檔案內容包含main的檔案 二進位制檔案 test 匹配.test.c int main root kevin opt d00148588 3 把查到的結果輸出到檔案中 root kevin opt d00148588 ...
Linux find 命令使用示例
按名字查詢 1.查詢home目錄及其子目錄的 txt 檔案 find name txt print 2.查詢當前目錄及其子目錄的 txt 檔案 find name txt print 3.查詢以大寫字母開頭的檔案 find name a z print 按檔案許可權相位查詢 1.查詢許可權為755的...
linux find命令的使用
簡介 在檔案系統上查詢符合條件的檔案的過程 linux find 命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則 find 命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。一 命令工具 locate 非實...