如何在 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
使用 -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 計算機上查找文件有一個基本的了解。