그래서 저는 웹 호스트의 홈 폴더에 있고 을(를) 사용해 봅니다 find
. 찾을 수 없습니다. 해당 파일이나 디렉토리가 없다고 표시되어 있습니다. 어디에도 없을 수도 있습니다.
그러나 다음 명령도 작동하지 않습니다.
find index.php
셀 수 없이 많기 때문에 이것은 잘못된 것입니다. 조회가 작동하지 않는 이유는 무엇입니까? 사용할 수 있는 더 좋은 명령이 있나요?
답변1
구문이 find
작성한 것과 다릅니다. man find
자세한 내용은 매뉴얼 페이지를 읽어보세요.
index.php
예를 들어, 현재 디렉터리와 그 아래의 모든 하위 디렉터리에서 지정된 파일을 찾으려면 다음을 사용할 수 있습니다.
find . -name index.php -type f
라는 findex.php
파일을 검색하려면 다음을 사용해야 합니다.index.phpfoo
index.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