간단한 명령 "찾기"가 작동하지 않습니다

간단한 명령 "찾기"가 작동하지 않습니다

그래서 저는 웹 호스트의 홈 폴더에 있고 을(를) 사용해 봅니다 find. 찾을 수 없습니다. 해당 파일이나 디렉토리가 없다고 표시되어 있습니다. 어디에도 없을 수도 있습니다.

그러나 다음 명령도 작동하지 않습니다.

find index.php

셀 수 없이 많기 때문에 이것은 잘못된 것입니다. 조회가 작동하지 않는 이유는 무엇입니까? 사용할 수 있는 더 좋은 명령이 있나요?

답변1

구문이 find작성한 것과 다릅니다. man find자세한 내용은 매뉴얼 페이지를 읽어보세요.

index.php예를 들어, 현재 디렉터리와 그 아래의 모든 하위 디렉터리에서 지정된 파일을 찾으려면 다음을 사용할 수 있습니다.

find . -name index.php -type f 

라는 findex.php파일을 검색하려면 다음을 사용해야 합니다.index.phpfooindex.php

find . -name '*index.php*' -type f 

*0개 이상의 문자를 나타내는 전역 패턴입니다.

반면, 현재 디렉터리만 보려면 다음을 수행하세요.

find . -maxdepth 1 -name '*index.php*' -type f 

답변2

findutils 4.7.0-git에서 find를 사용하여 동일한 문제가 발생했습니다. 이렇게 하면 find . -maxdepth 12 -name '*' -type f아래 트리에 백만 개의 파일이 있어도 현재 디렉터리에 있는 파일 외에는 반환되는 파일이 없습니다. 나에게 문제는 아래 디렉토리가 링크이므로 다음과 같이 해야 한다는 것입니다.

find -L . -maxdepth 12 -name '*' -type f

-L모든 것을 보장하다링크따라야 합니다(--follow로 사용되었지만 더 이상 사용되지 않음).

답변3

find의 관리를 확인해보세요. 그것을 사용하는 방법에는 여러 가지가 있습니다. 예: .| grep "Index.php" 또는 -nameXyz.php

관련 정보