如何在 Linux 中查找文件?

已發表: 2022-04-07

目錄

介紹:

Find是一個遍歷文件層次結構的 UNIX 命令行實用程序。 您可以使用它來查找和操作文件和目錄。 可以使用此命令搜索文件、文件夾、名稱、創建日期、修改日期、所有者和權限。

您可以進一步將它與“ exec ”選項結合起來,對find命令找到的結果執行各種操作。

在本文中,我們將學習如何使用Find命令在 linux 中查找文件。

查找命令如何工作?

Find在您的計算機上查找文件。 根據優先規則,它在給定路徑指定的每個目錄樹中從左到右評估每個表達式。 在 AND 運算或 OR 運算中,當表達式的左側為 TRUE 或 FALSE 時,結果是“已知的”。 Find 然後移動到下一條路徑,直到探索完所有路徑。

find命令是在 Linux 系統上處理文件的最基本和最強大的工具。 文件可以單獨定位,也可以與其他程序一起定位。

句法:

find [options] [path…] [expression]

或者

$ find [where to start searching from]

[表達式確定要查找的內容] [-options] [要查找的內容]

  • 符號鏈接處理、調試選項和優化策略都由options屬性控制。
  • path ... 屬性指定 find 將從中查找文件的一個或多個目錄。
  • 選項、搜索模式和操作由表達式屬性中的運算符分隔。

選項:

-exec CMD :正在搜索的文件滿足上述條件並返回 0 表示成功的命令執行退出狀態。

-ok CMD :與 -exec 類似,但會預先提示用戶。

-inum N :在 inode 中查找編號為“N”的文件。

-links N :查找具有“N”個鏈接的文件。

-name demo :在文件名中查找名稱為“demo”的文件。

-newer file :查找自“file.”以來已更新或創建的文件。

-perm octa l:如果權限是“八進制”,則查找文件。

-print :打印使用剩餘條件識別的文件的路徑名。

-empty :查找為空的文件和文件夾。

-size +N/-N : 查找帶有“N”塊的文件; 'N' 後跟 'c' 可用於測量字符大小; '+N' 表示大小 > 'N' 塊,而 '-N' 表示大小'N' 塊。

-user name :查找用戶名為“name”或 ID 為“name”的文件。

(expr) : 如果 'expr' 為真,則為真; 用於使用 OR 或 AND 對條件進行分組。

expr : 如果 'expr' 為假,則為真。

表達式:

選項(影響一般操作而不是文件處理並始終返回 true)、測試(返回 true 或 false 值)和操作(具有副作用並返回 true 或 false 值)都由表達式中的運算符分隔. 當運算符不存在時, -and 被推斷。

如果表達式不包含其他操作,則 -prune, -print 應用於所有為真的文件。

例如,讓我們以下面的命令為例

find -L /var/www -name "*.js"

  • 選項-L(選項)告訴 find 命令跟隨符號鏈接。
  • /var/www (path...) 指定將被搜索的目錄
  • (expression) -name "*.js 告訴 find搜索以 .js 結尾的文件(JavaScript 文件)。

如何在linux中按名稱查找文件

可以使用find命令按名稱查找文件。 您可以使用 -name 選項按文件名搜索文件。

find -type f -name functions.php

如何在 Linux 中查找文件

使用 -iname 而不是 -name,運行區分大小寫的搜索

如何通過擴展名在linux中查找文件

您可以按擴展名搜索文件,就像按名稱搜索文件一樣。

find -type f -name '*.php'

要查找沒有給定擴展名的文件,請使用以下命令

find -type f - not -name '*.php'

按類型查找文件

如果您需要查找特定文件類型,例如常規文件、目錄或符號鏈接,則可能需要搜索特定文件類型。 Linux 中的一切都是文件。

使用 -type 選項和以下描述符之一指定要搜索的文件類型:

  • f:普通文件
  • d: 目錄
  • l:符號鏈接
  • c:字符設備
  • b:塊設備
  • p:命名管道(FIFO)
  • s: 插座

find public_html/wp-admin/ -type d

按大小查找文件

-size 參數應與 size 參數一起傳遞,以根據文件大小查找文件。 以下後綴可用於指定文件大小:

  • b:512 字節塊(默認)
  • c:字節
  • w:兩字節字
  • k:千字節
  • M:兆字節
  • G:千兆字節

find . -type f -size -1M

如果要搜索大於 1MB 的文件,請使用 +

find . -type f -size +1M

您甚至可以搜索大小範圍內的文件

find . -type f -size +1M -size 3M

通過修改查找文件

find命令還可用於根據文件最後一次修改、訪問或更改的時間來查找文件。

就像在按大小搜索時一樣,對“大於”和“小於”使用加號和減號字符。

find . -mtime +30 -daystart

按權限查找

您可以使用 -perm 選項根據文件的權限搜索文件。

find public_html/wp-admin/css -perm /444

/ 用作前綴,則至少在類別上必須至少設置相應的位才能匹配文件。

-prefix,則至少必須設置指定的位。

按所有者查找

使用 -user 和 -group 參數查找某個用戶或組擁有的文件。

find -user testc7963

結論

我們已經演示瞭如何使用各種條件和參數來應用 find 命令。
本文應該讓您對如何在 Linux 計算機上查找文件有一個基本的了解。