[Linux] find 명령어 파일 찾기

리눅스를 쓰다 보면
"특정 파일이 어디에 있는지 모르겠어요"
"이 확장자 가진 파일들만 찾고 싶은데요?"
이런 순간이 자주 생깁니다.

이럴 때 find 명령어를 사용합니다.


✔ 기본적인 파일 검색
✔ 이름, 확장자, 크기, 날짜 조건 검색
✔ 실전 예제까지


find 명령어 제대로 사용하기

1. 기본 구조

find [검색할_경로] [조건] [옵션]

 

예시

find . -name "memo.txt"
  • 현재 디렉토리(.)에서 이름이 memo.txt인 파일을 찾습니다.

2. 이름으로 찾기 – -name

find /home/user -name "file.txt"
  • 정확한 이름으로 찾습니다.
find . -name "*.log"

 

  • .log 확장자를 가진 모든 파일 찾기

🔸 -iname을 사용하면 대소문자를 구분하지 않고 찾을 수 있어요.


3. 파일 타입으로 찾기 – -type

find . -type f  # 일반 파일만
find . -type d  # 디렉토리만

4. 크기로 찾기 – -size

find . -size +100k

 

  • 100KB보다 큰 파일 찾기
find . -size -10M

 

  • 10MB보다 작은 파일 찾기

단위:
k = KB, M = MB, G = GB


5. 최근 수정일로 찾기 – -mtime

find . -mtime -1
  • 1일 이내 수정된 파일
find . -mtime +7
  • 7일보다 더 오래된 파일

-mtime 0은 "오늘 수정된 파일"입니다.


6. 찾은 파일에 명령 적용 – -exec

find . -name "*.log" -exec rm {} \;
  • .log 파일들을 찾아서 삭제
find . -name "*.py" -exec chmod 644 {} \;

 

  • .py 파일에 권한 설정 적용

{} \;는 찾은 파일을 해당 명령어에 하나씩 넘겨준다는 뜻이에요.


결론

find는 단순한 파일 검색 도구를 넘어
조건에 따라 필요한 파일만 정확히 골라낼 수 있는 강력한 도구입니다.

자주 쓰이는 옵션만 익혀두어도
서버 관리, 로그 확인, 백업 파일 찾기 등 다양한 작업이 훨씬 쉬워질 집니다.