Linux
刪除除特定文件外的所有隱藏文件
我有一個被病毒攻擊的 vps 伺服器,它不斷注入許多隱藏文件。如何刪除文件夾的目錄和子目錄中的所有隱藏文件
public_html
,除了兩個文件:.htaccess
和.user.ini
?我嘗試了以下 Linux 命令,但沒有成功:
find "public_html" -type f -name '.*' -delete !(".htaccess"|".user.ini")
正如人們已經在評論中告訴你的那樣,這是一個非常糟糕的主意。你永遠不會確定你已經清理了所有東西,這樣的標準過程是擦除伺服器並從乾淨的備份中恢復。
也就是說,您的
find
命令不起作用的原因是因為find
不理解擴展的通配模式,例如!(".htaccess"|".user.ini")
. 相反,您需要使用find
自己的語法:find . -type f -name '.*' ! -name .htaccess -a ! -name .user.ini -delete
或者
find . -type f -name '.*' ! \( -name .htaccess -o -name .user.ini \) -delete