결과 내 검색보다 특정 폴더 이름을 검색하는 명령 찾기


1

공유 호스팅 환경에서 호스팅되는 워드 프레스 사이트가 많이 있습니다. 모든 워드 프레스 사이트와 마찬가지로 "업로드"디렉토리가 있습니다. 정기적으로 해당 폴더 내에있는 잠재적으로 악성 파일을 검색하고 싶지만 물론 하나씩 수행하고 싶지는 않습니다.

그래서 질문은 어떻게 모든 "업로드"디렉토리에서 확장자가 ".php"인 파일을 검색 할 수 있습니까?

예를 들면 다음과 같습니다.

find . -type d -iname "uploads"

루트 디렉토리의 모든 "업로드"폴더를 가져 오지만 해당 디렉터 내에서 검색하고 싶습니다.

답변:


3

명령의 출력을 다른 출력으로 파이프하는 것이 가능하지만 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 등의 정규 표현식을 알고 있으면 구문이 번거 롭습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.