it-swarm-ko.tech

FreeBSD에서 파일을 찾는 방법

FreeBSD 서버에서 example.filename의 모든 사본을 찾으려고합니다. 가장 좋은 방법, 가장 쉬운 방법, 가장 효율적인 방법은 무엇입니까?

14
Ian
find / -name example.filename
18
cletus
locate filename

찾기 서비스를 실행하는 경우 find, if 보다 훨씬 빠르며 updatedb 마지막 실행 (일반적으로 크론 작업의 제어를받는 야간).

canupdatedb를 손으로 실행하지만 find cletus가 제안 함 보다 느리고 루트가 필요합니다. 나는 때때로 많은 새로운 것들을 설치 한 후 손으로 데이터베이스를 업데이트합니다.

위치 (일명 slocate)가 설치되어 있다면

locate example.filename

locate는 매일 밤 cron 작업을 실행하여 시스템의 모든 파일을 다시 색인화합니다. 그런 이유로 항상 최신 상태는 아닙니다.

2
Paul Tomblin

때로는 특정 디렉토리 수준에서 파일을 찾으려고합니다. 이 경우 쉘 와일드 카드를 사용하는 것이 편리 할 수 ​​있습니다.

ls /data/*/example.filename

분명히 이것은 엄격한 디렉토리 구조가있는 경우에만 작동합니다.

2
Jon Ericson

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 경로를 사용하면이 문제를 피할 수 있습니다.

1
Basil Bourque

찾기 데이터베이스가 최신 인 경우 다음을 수행하십시오.

locate example.filename
0
Sophie Alpert

나는 때때로


  find . | grep example.filename

그러나 아마도 매우 비효율적입니다.

0
kgrad