본문 바로가기
리눅스의 모든 것

리눅스 파일 찾기 – find, locate, grep 활용 완벽 가이드

by 운따돈 2025. 8. 17.

리눅스에서 파일 찾기의 중요성

리눅스 서버를 운영하다 보면 설정 파일 위치를 잊거나, 특정 확장자의 파일만 찾아야 하는 경우가 자주 발생합니다.
윈도우처럼 GUI 환경이 없는 경우가 많기 때문에, 명령어로 파일을 빠르게 검색하는 방법을 익히는 것이 필수입니다.
대표적으로 find, locate, grep 세 가지 명령어를 많이 사용합니다.


find 명령어 – 실시간 검색

find는 디렉토리 트리를 탐색하며 조건에 맞는 파일을 찾는 명령어입니다.
실시간 검색이라 최신 상태를 바로 확인할 수 있습니다.

2-1. 기본 사용법

find 검색경로 -name "파일명"

예)
find / -name "nginx.conf"

→ 루트 디렉토리부터 nginx.conf 파일을 검색.


2-2. 대소문자 구분 없이 검색

find /etc -iname "config*"


2-3. 확장자로 검색

find /var/www -name "*.php"


2-4. 특정 크기 이상의 파일 찾기

find / -size +100M

→ 100MB 이상인 파일 검색.


2-5. 최근 변경된 파일 찾기

find /var/log -mtime -1

→ 1일 이내 수정된 파일 검색.


locate 명령어 – 데이터베이스 기반 초고속 검색

locate는 미리 만들어진 파일 목록 데이터베이스에서 검색하기 때문에 속도가 매우 빠릅니다.
단, 데이터베이스 업데이트가 필요합니다.

3-1. 설치 (Ubuntu/Debian)

sudo apt install mlocate

(CentOS/RHEL)
sudo yum install mlocate

3-2. 데이터베이스 업데이트

sudo updatedb

3-3. 사용 예시

locate nginx.conf

→ 시스템 전체에서 nginx.conf 파일 경로를 즉시 출력.


grep으로 파일 내용 검색

grep은 파일 내용 안에서 특정 문자열을 검색할 때 사용합니다.
파일명은 알지만, 내용 중 특정 키워드가 있는지 찾고 싶을 때 유용합니다.

4-1. 기본 사용법

grep "검색어" 파일명

4-2. 디렉토리 전체에서 검색

grep -rn "error" /var/log

→ /var/log 디렉토리에서 error가 포함된 줄과 줄 번호를 표시.


find + grep 조합

파일 위치와 내용 검색을 동시에 하려면 find와 grep을 함께 사용합니다.

find /var/www -name "*.php" | xargs grep "mysqli_connect"

→ /var/www 내 모든 PHP 파일에서 mysqli_connect 문자열 검색.


파일 찾기 속도 높이는 팁

  1. 검색 범위 축소 – / 전체 검색보다 특정 디렉토리 지정.
  2. 와일드카드 활용 – 예: .log, config
  3. locate 사용 – 미리 DB를 업데이트하면 검색 속도 극대화.
  4. 권한 주의 – root 권한이 없으면 일부 경로는 검색 불가.

자주 쓰는 실무 예시

  • Apache 설정 파일 찾기
    find /etc -name "httpd.conf"
  • 최근 1시간 내 생성된 로그 찾기
    find /var/log -type f -mmin -60
  • 대용량 파일 위치 파악
    find / -type f -size +500M

결론

리눅스에서 파일을 찾는 방법은 find와 locate가 기본이며, 파일 내용 검색은 grep을 활용하면 됩니다.

  • find → 실시간, 조건 다양
  • locate → 초고속, DB 기반
  • grep → 내용 검색

이 세 가지를 상황에 맞게 조합하면, 서버 관리나 개발 환경에서 원하는 파일을 단 몇 초 만에 찾을 수 있습니다.
특히 대규모 서버에서 빠른 검색을 원한다면 locate + updatedb 조합을 적극 추천드립니다.