使用命令行在 Linux 中查找文件

Linux 附帶了一個名為 find 的強大工具來查找文件(或多個文件)。 默認情況下,它會根據特定條件搜索文件(或多個文件)的子目錄。

在本教程中,我們將學習如何 在 Linux 中查找文件 使用命令行。

在 Linux 中查找文件

在 Linux 中查找文件的 find 命令的語法:

find starting-point options expression

起點 – 這可以是當前目錄(用 . 表示)或開始過濾的目錄路徑。 如果沒有給出路徑,則使用當前目錄。

選項 – 控制符號鏈接的處理、調試選項和性能優化。

表達式 – 要搜索的內容。

為了 example:

find -O3 -L /etc -name "*.conf"

  • 選項 -03 (options) 告訴執行有效的搜索以提供更好的性能。
  • -L (options) 告訴 find 命令跟隨符號鏈接
  • /etc (starting-point) 指定開始搜索的目錄
  • -name "*.conf" (expression) 告訴 find 命令要搜索的內容。

在 Linux 中按名稱查找文件

您可以使用 find 命令按名稱查找文件。 為了 example 在當前目錄和子目錄中搜索名為file1.txt的文件。

find . -name file1.txt

這裡 。 (點)表示當前目錄。

在目錄路徑/home/bob 及其子目錄中搜索名為file2.txt 的文件。

find /home/bob -name file2.txt

要執行不區分大小寫的搜索,請使用 -iname 選項而不是 -name:

find /home/bob -iname File2.txt

在 Linux 中按擴展名查找文件

使用 find 命令查找使用文件擴展名的文件(或多個文件)。 為了 example 要搜索擴展名為“.txt”的文件(或多個文件),請鍵入:

find /home/bob -name "*.txt"

找到一個空文件

要查找一個或多個空文件,請使用文件類型 -empty。

為了 example 要查找 /tmp 目錄中的所有空文件,請鍵入:

find /tmp -type f -empty

按修改時間查找文件

要按最後修改時間搜索目錄下的一個或多個文件,請使用 -mtime 選項。 為了 example 要查找 60 天前最後修改的文本文件,請鍵入:

find /home/username -name "*.txt" -mtime -60

查找包含特定字符串的文件

如果要查找包含特定字符串的文件,可以將 find 和 grep 組合在一起。

搜索包含字符串 ‘ 的所有 *.js 文件example’, 類型:

find . -name '*.js' -exec grep -i 'example' {} ; -print

或者,您也可以通過 grep 命令獲得相同的結果。

查找文件並執行命令

有時您需要查找文件並執行刪除、更改權限等過程,您可以使用 -exec 選項。

find /var/www/html -name "wp-config.php" -exec chmod 0644 {} ;

有用的查找選項來查找文件

默認情況下,查找忽略符號鏈接,使用 -L 跟隨符號鏈接。

-maxdepth X – 搜索當前目錄以及所有 X 級深的子目錄。
-iname – 忽略文本大小寫。
-not – 只輸出與測試用例不匹配的結果

結論

在本教程中,我們學習了使用命令行在 Linux 中查找文件。 Linux 結構使得通過搜索目錄和子目錄來有效地找到文件。

感謝您的閱讀,請在評論部分告訴我們您的反饋和建議。