linux find命令使用

2021-06-22 12:13:55 字數 3882 閱讀 4111

語  法: 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 <

檔名》

不在終端列印查詢到的檔案資訊,

而是其儲存到指定的檔案中

-print

在標準輸出裝置上顯示查詢到的文

件資訊,這是預設選項,可以省略

-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 非實...