find檔案查詢

2021-10-04 03:01:22 字數 2562 閱讀 6583

我們很多時候會忘記某個檔案在什麼位置,此時就需要進行檔案查詢。

linux檔案查詢主要是使用find命令來進行查詢,find命令可以通過不同的維度來定位到某個想要查詢的檔案。

find [查詢的範圍] [選項] [表示式] [動作]

使用示例如下:

[root@oldboy ~]

# find / -name "ls"

# 以根目錄下的所有檔案作為範圍,查詢名字是ls的檔案或目錄

/usr/bin/ls

注:查詢的範圍越小查詢的越快。

find邏輯運算子:

!或 -not:非

-a 或-and:並且

-o 或 -or: 或者

按照名稱查詢:

-name

-iname

使用示例如下:

[root@oldboy ~]

# find /etc -name "*ens32"

# 以/etc下的所有檔案作為範圍,查詢名字中以ens32結尾的檔案或目錄

[root@oldboy ~]

# find /etc -iname ".*ens32"

# 與上面的例子相同,唯一的區別在於iname引數不區分大小寫

[root@oldboy ~]

# find /etc ! -iname ".*ens32"

# 查詢所有/etc下不以ens32結尾的檔案或目錄

按照型別查詢:

-type

使用示例如下:

[root@oldboy ~]

# find /etc -type d

# 查詢/etc下的所有目錄檔案

[root@oldboy ~]

# find /bin/ -type l

# 查詢/bin下的所有型別是軟鏈結的

按照大小進行查詢:

-size

使用示例如下:

[root@oldboy ~]

# find /etc -size +5m

# 查詢/etc下大於5m的檔案

[root@oldboy ~]

# find /etc -size 5m

# 查詢/etc下等於5m的檔案

[root@oldboy ~]

# find /etc -size -5m

# 查詢/etc下小於5m的檔案

按照時間進行查詢:

-mtime

只能精確到天

使用示例如下:

[root@oldboy ~]

# find . -mtime +7

# 查詢當前目錄下最近一次修改時間是7天以前的,不包含當天

[root@oldboy ~]

# find . -mtime -7

# 查詢當前目錄下最近一次修改時間是7天內的內容,包含當天

[root@oldboy ~]

# find . -mtime 7

# 查詢當前目錄下最近一次修改時間是前第七天的內容,不包含當天

按照屬主進行查詢:

-user

使用示例如下:

[root@oldboy ~]

# find /home/ -user zhangsan

# 查詢/home下的所有屬主是zhangsan的檔案或目錄

按照屬組進行查詢:

-group

使用示例如下:

[root@oldboy ~]

# find /home/ -group root

# 查詢/home下的所有屬組是root的檔案或目錄

注意:我們使用find查詢的這些選項可以組合使用。

預設是-print 表示把查詢後的結果列印出來

-ls 表示以長格式顯示查詢的結果

-delete 表示刪除查詢到的檔案

-ok 自定義的shell命令:

使用示例如下:

[root@oldboy ~]

# find . -mtime +7 -ok rm -f {} \;

# 刪除前面查詢到的檔案或目錄,每次執行操作都會要求使用者確認

-exec 自定義的shell命令

使用示例如下:

[root@oldboy ~]

# find . -mtime +7 -exec rm -f {} \;

# 刪除前面查詢到的檔案或目錄,每次執行操作無需使用者確認

相比之下,執行速度-exec並不如使用xargs的速度快,因此,實際過程中盡可能還是使用xargs的方式去操作查詢到的檔案更好一點。

問:以知檔案內容,怎麼查詢檔案在**?

我們可以使用find與grep結合使用便能查詢到目標檔案。

[root@oldboy ~]

# find . | xargs grep -ir "password" --color = auto

檔案查詢 find

find 查詢目錄 引數 檔案名字 find usr name time.c 使用萬用字元 find usr name ime.c find usr name ime.c 代表任意個字元 代表單個字元 touch命令用於修改檔案或者目錄的時間屬性,包括訪問時間和更改時間。若檔案不存在,系統會建立乙個...

find 檔案的查詢

這個命令在linux中是乙個比較強大的功能,它會在你指定的資料夾下可以很精確的查詢某乙個檔案。但是它同時有乙個缺點,就是會效率會比較低,所以我推薦當你去查詢某個檔案或者想知道某個命令的路徑時,先用whereis和locate這兩個命令先去試試,如果真查不到,再使用此命令。命令說明 root loca...

Linux檔案查詢find

列出資料夾下所有內容 包括目錄 檔案和子目錄中內容,深度優先遍歷 find 資料夾名以上方法列印出來檔案是以換行符分隔,可以連著列印而不分隔,當檔名中有換行符時用 find 資料夾名 print0根據名字查詢檔案 find 目錄名 name 檔名 以上命令中目錄名為要搜尋的目錄,檔名可以用萬用字元搜...