자체 데이터베이스를 통해 파일을 찾아주는 locate 명령어의 보안 강화 버전이다.

사용법 : slocate [옵션] 
-u : / 경로에서부터 slocate 데이터베이스를 만든다. 
-U dir : 지정한 디렉토리 경로에서부터 slocate 데이터베이스를 만든다. 
-c : -u나 -U옵션을 사용할 경우 /etc/updatedb.conf의 위치를 추적한다. 
-e dir1,dir2,... :  -u나 -U옵션을 사용할 경우 지정한 디렉토리를 제외한다. 
-f fs_type1,... : -u나 -U옵션을 사용할 경우 지정한 파일시스템을 제외한다. 
-l level : 보안레벨로써, 0이면 보안체크를 하지 않는 대신, 검색이 좀 더 빠르고, 1이 디폴트 값으로 보안체크를 한다. 
-q : 에러 메시지를 보여주지 않는다. 
-n num : 지정한 숫자만큼의 결과만 보여준다. 
-i : 검색에서 일일이 확인한다. 
-r regexp : POSIX 표현 방식으로 데이터베이스를 검색한다. 
-o file : 지정한 파일명으로 데이터베이스 파일을 만든다. 
-d path : 지정한 데이터베이스 경로에 찾는다. 
-h, --help : 사용법을 보여준다. 
-v, --verbose : 데이터베이스 생성시 상세 메시지를 보여준다. 
-V, --version : 버전 정보를 보여준다. 

시스템이 자동적으로 slocate 데이터베이스를 업데이트를 하지 않으면, 파일이나 디렉토리 정보를 제대로 확인할 수 없다. 이 때문에 시스템에서는 updatedb 프로그래을 하루에 한번씩 cron으로 실행하여, 데이터베이스를 업데이트 한다.
레드햇 기준으로 하루 한 번씩 실행하는 cron 설정 디렉토리인 /etc/cron.daily/slocate.cron 파일을 살펴보면 /usr/bin/updatedb 파일이 실행되는 것을 볼수 있다.

# cat /etc/cron.daily/slocate.cron 
#!/bin/sh 
renice +19 -p $$ >/dev/null 2>&1 
/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e "/tmp,/var/tmp,/usr/tmp,/afs,/net" 

find 명령과 달리 slocate명령은 데이터베이스에 미리 생성하며, 빠른 파일 찾기가 가능하다. 아래 예제와 같이 httpd.conf 파일을 slocat 명령으로 찾아보자.

# slocate httpd.conf 
/etc/httpd/conf/httpd.conf 
/usr/share/doc/mod_perl-1.26/eg/httpd.conf.pl 

[관련 명령어]
find 파일을 찾을 경로, 찾고자 하는 파일의 표현식, 찾을 경우 실행명령으로 파일을 찾는 명령어
locate 자체 데이터베이스를 통해 파일을 찾아주는 명령어
2005/06/16 19:33 2005/06/16 19:33

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다