유사하지만 이름이 다른 수천 개의 파일을 효율적으로 삭제합니다.

유사하지만 이름이 다른 수천 개의 파일을 효율적으로 삭제합니다.

이름은 비슷하지만 결말이 다른 수천 개의 파일을 삭제해야 합니다. 클라이언트의 공유 호스팅을 공격하고 여러 WordPress 사이트를 감염시킨 악성 코드에 의해 생성되었습니다. 나는 cPanel 파일 관리자 대신 SSH를 사용하고 있는데, 그 이유는 그렇게 많은 파일을 한 번에 삭제할 수 없기 때문입니다.

파일 이름은 모두 지정됩니다. work.php.xxxxx는 0 - 9999 사이의 숫자를 나타냅니다. 즉, " work.php.2048"는 모두 하나의 폴더에 있습니다.

대량으로만 삭제할 수 있는 SSH 명령이 있습니까?

이는 제안된 중복 파일과 다릅니다. 파일이 모두 .php 확장자 뒤에 고유한 결말을 갖고 있기 때문에 해당 문제에 대해 제안된 해결책이 저에게는 효과가 없을 것입니다.

답변1

원하는 결과를 얻으려면 이 작업을 두 단계로 수행하는 것이 좋습니다. 먼저 파일을 빈 폴더로 이동합니다.

user@linux:/.../somefolder#                 cd [TargetFolder]
user@linux:/.../TargetFolder#               mkdir DeleteFolder
user@linux:/.../TargetFolder#               find ./ -regex './work.php.[0-9][0-9][0-9][0-9]' -exec mv {} DeleteFolder/ \;
user@linux:/.../TargetFolder/DeleteFolder#  cd DeleteFolder
user@linux:/.../TargetFolder/DeleteFolder#  ls -l *

삭제 폴더에 삭제하려는 파일만 포함되어 있는 경우 다음을 수행하십시오.

user@linux:/.../TargetFolder/DeleteFolder#  rm work.php.[0-9][0-9][0-9][0-9]

rm work.php.[0-9][0-9][0-9][0-9]한 단계로 수행하려면 대상 폴더 내에서 분명히 사용할 수 있습니다 . 저는 개인적으로 사용할 때 상당히 조심스럽습니다 rm. 따라서 2단계 방법을 사용합니다.

관련 정보