답변:
find / -name example.filename
locate filename
보다 훨씬 빠르기 때문에 find
, 경우에 당신은이 서비스를 찾아 실행하고, 그리고 그것은 단지 시간에 존재하는 파일 발견 updatedb
(cron 작업의 통제하에 befor을하는 데는 보통 밤) 마지막으로 실행합니다.
당신 은updatedb
손으로 달릴 수 있지만, 그것은 훨씬 느립니다.find
김근삼 제안 , 루트가 필요합니다. 나는 때때로 많은 새로운 것들을 설치 한 후 손으로 데이터베이스를 업데이트합니다.
find /
일주일에 한 번 이상 큰 나무에서 일하는 것을 발견 하면 locate
서비스 를 실행하는 것이 locate(1)
훨씬 빠르기 때문에 아마도 가치 가 있습니다.
sudo periodic weekly
은 locate
데이터베이스를 업데이트 합니다. 원하는 파일이 포함 된 설치 또는 다운로드 후에 실행하십시오.
locate
다른 사람들이 언급했듯이 locate
파일을 찾는 가장 빠른 방법입니다. 이 명령은 파일 및 폴더 이름의 사전 컴파일 된 색인을 사용합니다. 파일 시스템을 크롤링하지 않고이 이름의 데이터베이스를 검색합니다.
locate example.filename
대소 문자를 구분하지 않으려면을 추가하십시오 -i
.
locate -i eXAmPle.FileName
locate
데이터베이스 업데이트에서 사용하는 데이터베이스 locate
는 최신이어야합니다. 원하는 파일이 포함 된 설치 또는 다운로드를 수행 한 후 locate
데이터베이스 를 업데이트해야 합니다.
그만큼 locate
데이터베이스는 결국 FreeBSD 시스템에 의해 자동으로 업데이트됩니다. 이 작업을 포함하는 매주 집안일이 있습니다. 이 집안일은 /etc/periodic/weekly/310.locate
스크립트에 나열되어 있습니다.
locate
데이터베이스를 조기에 업데이트하는 가장 안전한 방법 은 매주 집안일을 강제로 수행하는 것입니다.
sudo periodic weekly
또는 모든 정기적 인 집안일을 강요 할 수도 있습니다. 새로운 FreeBSD 시스템을 설치 한 직후에이를 수행 할 수 있습니다.
sudo periodic daily weekly monthly
다른 방법을 사용하여 locate
데이터베이스 를 업데이트하는 경우 안전하지 않다는 메시지가 표시되어 FreeBSD 시스템의 모든 사용자에게 모든 시스템 파일 이름이 표시 될 수 있습니다. periodic
경로를 사용 하면이 문제를 피할 수 있습니다.
나는 때때로
find . | grep example.filename
그러나 아마도 비효율적 일 것입니다.