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 結構使得通過搜索目錄和子目錄來有效地找到文件。
感謝您的閱讀,請在評論部分告訴我們您的反饋和建議。