我有一堆託管在共享託管環境中的 WordPress 網站。與每個 WordPress 網站一樣,都有「上傳」目錄。我想定期搜尋這些資料夾中的潛在惡意文件,但我當然不想一一執行。
所以問題是我如何在所有“上傳”目錄中搜尋擴展名為“.php”的文件
例如:
find . -type d -iname "uploads"
讓我獲得根目錄中的所有“上傳”資料夾,但我也想在這些目錄中搜索
答案1
可以將命令的輸出透過管道傳輸到另一個命令,但您可以使用以下命令同時搜尋兩個條件grep
和常用表達:
find . -type f | grep -i "/uploads/.*\.php$"
怎麼運作的:
find . -type f
清單全部目前目錄及其子目錄中的檔案。grep -i "/uploads/.*\.php$"
過濾輸出:-i
使搜尋不區分大小寫/uploads/.*\.php$
是一行必須符合才能顯示的正規表示式/uploads/
php
正是這樣.*
是任何類型的字元出現任意次數\.
是一個字面意思.
$
表示該行結束
您可以使用以下方法獲得相同的結果
find . -type f -iregex ".*/uploads/.*\.php"
grep
但如果您了解、Perl、PHP、JavaScript 等的正規表示式,語法就會很麻煩。