Linux系統上使用find命令查找文件的N種案例

2019-09-12     Linux學習教程

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號「智傳網優」直接開始自助視頻學習

1. 前言

本文主要講解在Linux系統上如何使用find命令

find命令怎麼用

2. `find`命令的使用方法

要開始搜索整個硬碟,您需要輸入以下內容:

find /

但是,如果您想開始搜索當前所在的文件夾,那麼可以使用find命令以下語法:

find .

當您想在整個硬碟中按名稱搜索文件時,請使用find命令以下語法:

假設你要搜索的文件名為filename

find / -name filename

find命令的第一部分顯然是單詞find。

第二部分是從哪裡開始搜索。即指定目錄,它會自動搜索指定目錄里的子目錄

第三部分是一個表達式,它決定要查找什麼。

最後一部分是要找的文件名。

find命令使用方法

3. `find`命令搜索位置的快捷方式

find之後的第一個參數是要搜索的位置。雖然可以指定特定的目錄,但是大多數人使用元字符作為替代。使用這個命令的三個元字符包括:

句點:指定當前文件夾和所有嵌套文件夾

左斜槓/:指定整個文件系統

波浪符號~:指定活動用戶的主目錄

提示:搜索整個文件系統可能會產生許多訪問拒絕錯誤。一般的用戶帳號都會遇到權限的問題,這時,應該使用提升的特權運行該命令(例如,使用sudo)。

表達式

最常用的表達式是-name。name表達式允許搜索文件或文件夾的名稱。

然而,你也可以用其他的表達方式:

-amin n: 該文件最後一次訪問是在n分鐘前

-anewer: 最後一次訪問該文件的時間比修改該文件的時間晚

-atime n: 該文件最後一次被訪問是在n天前

-cmin n: 文件最後一次更改是在n分鐘前

-cnewer: 文件最後一次更改的時間比文件修改的時間更近

-ctime n: 文件最後一次更改是在n天前

-empty: 文件為空

-executable: 該文件是可執行的

-false: 總是錯誤的

-fstype type: 該文件位於指定的文件系統上

-gid n: 該文件屬於ID為n的組

-group groupname: 該文件屬於指定的組

-ilname pattern: 搜索符號行,但忽略大小寫

-iname pattern: 搜索文件但忽略大小寫

-inum n: 搜索具有指定節點的文件

-ipath path: 搜索路徑但忽略大小寫

-iregex expression: 搜索表達式但忽略大小寫

-links n: 搜索具有指定連結數量的文件

-lname name: 搜索符號連結

-mmin n: 文件的數據最後一次修改是在n分鐘之前

-mtime n: 文件的數據上次修改是在n天前

-name name: 搜索具有指定名稱的文件

-newer name: 搜索最近編輯的文件,而不是給定的文件

-nogroup: 搜索沒有組id的文件

-nouser: 搜索沒有附加用戶的文件

-path path: 查找路徑

-readable: 查找可讀的文件

-regex pattern: 搜索匹配正則表達式的文件

-type type: 搜索特定類型

-uid uid: 文件數字用戶id與uid相同

-user name: 文件由指定的用戶擁有

-writable: 搜索可寫入的文件

4. `find`命令使用案例

find命令使用案例

如何查找訪問文件超過一定天數的前幾天

要查找100天前訪問過的主文件夾中的所有文件,請:

find ~ -atime 100

如何找到空的文件和文件夾

要查找系統中的所有空文件和文件夾:

find / -empty 

如何找到所有的可執行文件

要在你的電腦上找到所有可執行文件:

find / -exec

如何找到所有可讀的文件

要找到所有可讀的文件:

find / -read

模式

在搜索文件時,可以使用模式。例如,搜索擴展名為mp3的所有文件:

find / -name *.mp3

如何將Find命令的輸出發送到文件

find命令的主要問題是,它有時會返回太多的結果,無法一次性查看。通過管道將輸出輸出到tail命令,或者您可以將這些行輸出到一個文件中,如下所示:

find / -name *.mp3 -fprint nameoffiletoprintto

如何查找並對文件執行命令

同時搜索和編輯一個文件:

find / -name filename -exec nano '{}' \\;

上面的命令搜索一個名為filename的文件,然後為它找到的文件運行nano編輯器。

5. 結論

通過本文,你應該對find命令怎麼用有所了解了吧?這是Linux運維中最常用的命令了,一定要學習使用。

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下連結:

https://www.linuxrumen.com/rmxx/1291.html

點擊了解更多,快速查看更多的技術文章列表。

文章來源: https://twgreatdaily.com/TbX5OW0BJleJMoPMRyfg.html