답변:
find실제 시스템에서 검색합니다. 속도는 느리지 만 항상 최신이며 더 많은 옵션 (크기, 수정 시간 등)이 있습니다.
locate이전에 빌드 된 데이터베이스를 사용합니다 (command updatedb). 훨씬 빠르지 만 '이전'데이터베이스를 사용하고 이름이나 그 일부만 검색합니다.
어떤 경우, man find그리고 man locate추가로 도움이 될 것입니다.
updatedb같은 대략적인 것을 수행합니다 find / -type f | gzip > locate.gz.
locate및 find명령 모두 파일을 찾을 수 있지만 상당히 다른 방식으로 작동합니다.
locate 오프라인 모드에서 작동합니다 :
locate해당 데이터베이스를 사용하여 특정 파일을 검색합니다. 문제 locate는 검색하려는 파일을 방금 만든 경우 slocate 데이터베이스가 최신이 아니기 때문에 찾기 가 작동하지 않는다는 것 입니다. 이 문제를 극복하기 위해 slocate 데이터베이스 를 업데이트하는 데 사용할 수 있습니다 . 다시 실행 하면 새로 작성된 파일을 찾을 수 있습니다. 따라서 많은 Linux 시스템 관리자는 작업을 사용 하여 slocate 데이터베이스 를 정기적으로 업데이트 합니다.updatedblocatecronfind 온라인 / "실시간"모드에서 작동합니다.
따라서 특성에 따라 찾기가 찾기보다 빠르지 만 찾기는 실시간이라는 것이 분명합니다.
이것이 아이디어를 지우는 데 도움이되기를 바랍니다. 모두 제일 좋다. :)
find 사용에 대한 대안은 locate 명령입니다. 이 명령은 종종 더 빠르며 전체 파일 시스템을 쉽게 검색 할 수 있습니다. apt-get을 사용하여 명령을 설치할 수 있습니다.
sudo apt-get update
sudo apt-get install mlocate
찾기가 찾기보다 빠른 이유는 파일 시스템의 파일 데이터베이스에 의존하기 때문입니다. 데이터베이스는 일반적으로 cron 스크립트로 하루에 한 번 업데이트되지만 다음을 입력하여 수동으로 업데이트 할 수 있습니다.
sudo updatedb
이 명령을 지금 실행하십시오. 최근에 획득하거나 생성 한 파일을 찾으려면 데이터베이스가 항상 최신 상태 여야합니다.