728x90
커맨드라인으로 파일 찾기: find vs locate
서버나 개발 환경에서 수많은 파일 중 원하는 파일을 빠르게 찾는 것은 필수입니다. Ubuntu에는 대표적으로 find와 locate 두 가지 명령어가 제공되며, 상황에 맞춰 사용하면 효율이 크게 향상됩니다.
1. find 명령어 기초 사용법
find는 실시간으로 파일 시스템을 탐색합니다. 경로와 조건식을 결합해 이름, 크기, 수정일자 등 다양한 기준으로 검색할 수 있습니다.
# 현재 디렉터리에서 .log 파일 찾기
find . -type f -name "*.log"
# /var 디렉터리에서 7일 이상 수정되지 않은 파일 찾기
find /var -type f -mtime +7
2. locate 명령어 기초 사용법
locate는 데이터베이스(updatedb)에서 빠르게 결과를 출력합니다. 대용량 파일 시스템에서 속도가 빠르지만, 실시간 반영을 위해 주기적 데이터베이스 갱신이 필요합니다.
# database 업데이트
sudo updatedb
# 이름에 "config"가 포함된 모든 경로 검색
locate config
3. find와 locate 성능 비교
find는 최신 상태 파일까지 모두 검색하지만 속도가 느릴 수 있습니다. 반면 locate는 DB 기반이라 즉시 결과를 주지만, DB가 최신이 아닐 수 있습니다.
4. 실전 예시 조합 활용
두 명령어를 조합해 사용하면 좋습니다. 예: 빠르게 후보 파일을 찾은 뒤 find로 상세 조건을 적용해 최종 결과를 걸러낼 수 있습니다.
# locate로 빠른 목록 추출 → grep으로 필터링
locate .env | grep project
# find로 크기가 큰 .sql 파일만 필터링
find /home -type f -name "*.sql" -size +5M
마무리 및 실무 팁
일반적으로 locate로 빠르게 후보를 찾고, 정확한 조건이 필요할 때 find를 사용하는 것이 효율적입니다. updatedb는 크론탭에 등록해 매일 새벽 자동 실행해두면 편리합니다.
실무 팁: 자주 쓰는 검색 필터를 쉘 함수나 alias에 등록해 단축키처럼 사용해보세요. 예를 들어 alias fpc='find . -type f -name'처럼 설정하면 편리합니다.

728x90
'OS > Ubuntu' 카테고리의 다른 글
| Ubuntu에서 부팅 시 실행되는 프로그램 관리 (0) | 2025.07.16 |
|---|---|
| Ubuntu에서 APT 패키지 업데이트 및 업그레이드 (0) | 2025.07.15 |
| Ubuntu에서 자동 업데이트 취소하고 수동 관리하기 (1) | 2025.07.13 |
| Ubuntu에서 파일 압축 및 해제 방법 (0) | 2025.07.12 |
| Ubuntu에서 자동 업데이트 설정하기 (2) | 2025.07.11 |