locate 명령어 사용법

| 2021년 2월 24일 | 0 Comments

 

 

리눅스에서 파일을 찾을 떄 주로 find 명령어를 이용하여 찾습니다. 

 

다양한 옵션이 많아 파일 찾는데 유용하지만 속도가 느린 단점이 있습니다.

 

그래서 단순 파일 위치를 찾고자 할 때 locate 명령어를 쓰면 보다 빠르게 파일을 찾을 수 있습니다.

 

그 이유는 리눅스 어딘가에 저장되어있는 파일 목록 DB를 참조해 검색을 진행하기 때문에 찾는 속도가 매우 빠릅니다.

 

하지만 DB를 업데이트를 해주지 않으면 최신화 된 파일 목록에 대하여 찾을 수 없기 때문에 locate 명령어 사용 전 updatedb 명령어를 통해 최신화를 해줘야 하는 단점이있습니다.

 

 


 

 

locate 설치 (우분투를 기준으로 했습니다.)

 

# apt-get -y install mlocate

 

위 명령어로 설치합니다. (centos는 yum으로 설치하면 됩니다.)

 

 

 


 

 

locate 명령어 사용 법

 

옵션

-e : 검색했을 때 존재하는 파일만 출력 

-n : 결과물의 개수를 설정한 수로 제한

-c : 찾은 파일의 갯수를 표시

 

# updatedb

 

명령어 사용 전 db를 최신화합니다.

 

# locate 파일명

 

옵션 없이 파일명으로 바로 검색도 가능하며 결과는 아래와 같이 나옵니다.

 

# locate php.ini


/etc/php/7.4/apache2/php.ini
/etc/php/7.4/cli/php.ini
/usr/lib/php/7.4/php.ini-development
/usr/lib/php/7.4/php.ini-production
/usr/lib/php/7.4/php.ini-production.cli

 

 

직접 해 보면 알겠지만 찾는 속도가 매우 빠른 점을 확인 할 수 있습니다.

 

 

 

-e 옵션 사용 시 출력 값 

 

* 출력값이 옵션 넣기 전과 다른지 확인하기위해 mv로 

/etc/php/7.4/apache2/php.ini 해당 파일을 옮기고 명령어를 실행하였습니다.

 

# locate -e php.ini


/etc/php/7.4/cli/php.ini
/usr/lib/php/7.4/php.ini-development
/usr/lib/php/7.4/php.ini-production
/usr/lib/php/7.4/php.ini-production.cli

 

이동 한 파일이 없는 점 확인하였습니다. 여기서 옵션을 빼면

 

# locate php.ini


/etc/php/7.4/apache2/php.ini
/etc/php/7.4/cli/php.ini
/usr/lib/php/7.4/php.ini-development
/usr/lib/php/7.4/php.ini-production
/usr/lib/php/7.4/php.ini-production.cli

 

다음과 같이 출력됩니다. 

 

=> 위 내용에서 확인 할 수 있듯이 DB 최신화가 안됐을 경우를 대비하여 -e 옵션을 넣어서 파일을 찾는 방법을 추천합니다.

 

 

 

 

-n 옵션 사용 시 출력 값

# locate -n 3 php.ini


/etc/php/7.4/apache2/php.ini
/etc/php/7.4/cli/php.ini
/usr/lib/php/7.4/php.ini-development

 

 

 

 

-c 옵션 사용 시 출력 값

# locate -c php.ini


5

 

 

 

 

감사합니다.

 

Category: 솔루션/IT기타

Avatar

About the Author ()