카테고리 없음
[리눅스 명령어] find 기초부터 옵션까지 한 번에 정리
하고집
2026. 1. 18. 09:20
반응형
1. find 란?
find는 리눅스에서 파일이나 디렉터리를 조건에 따라 검색하는 명령어다.
파일 이름뿐 아니라 위치, 수정 시간, 크기, 권한, 소유자 등 다양한 조건으로 찾을 수 있어
서버 운영과 로그 관리, 배포 작업에서 매우 자주 사용된다.
초보자에게는 옵션이 많아 어렵게 느껴질 수 있지만,
자주 쓰는 패턴만 익혀도 실무 활용도가 매우 높다.
2. 기본 사용 방법
find [검색경로] [조건]
2.1 현재 디렉터리에서 전부 출력
find .
현재 위치부터 모든 하위 파일과 디렉터리를 출력한다.
2.2 특정 경로에서 검색
find /var/log
/var/log 아래 모든 파일과 디렉터리를 검색한다.
3. 자주 사용하는 옵션(조건) 정리
find는 “옵션”보다는 조건 개념으로 이해하는 것이 쉽다.
3.1 -name : 파일 이름으로 검색 (가장 많이 사용)
find . -name "a.txt"
- 이름이 정확히 a.txt인 파일 검색
- 와일드카드(*) 사용 가능
find . -name "*.log"
👉 로그 파일 찾을 때 거의 무조건 사용
3.2 -iname : 대소문자 구분 없이 이름 검색
find . -iname "Readme.md"
파일 이름 대소문자가 헷갈릴 때 유용하다.
3.3 -type : 파일 종류 지정
find . -type f
- f : 일반 파일
- d : 디렉터리
- l : 심볼릭 링크
👉 디렉터리만 찾고 싶을 때:
find . -type d
3.4 -size : 파일 크기로 검색
find . -size +100M
- 100MB 초과 파일 검색
- 디스크 용량 문제 원인 찾을 때 자주 사용
3.5 -mtime : 수정 시간 기준 검색
find . -mtime -7
- 최근 7일 이내 수정된 파일 검색
find . -mtime +30
- 30일 이상 된 파일 검색
👉 오래된 로그 정리할 때 매우 중요
3.6 -user / -group : 소유자 기준 검색
find . -user root
root 소유 파일 검색
3.7 -perm : 권한 기준 검색
find . -perm 777
권한이 정확히 777인 파일 검색
보안 점검 시 사용
보안 점검 시 사용
4. 옵션(조건) 조합 예제 (이건 꼭!)
4.1 로그 파일 찾기 (실무 최다)
find /var/log -type f -name "*.log"
4.2 오래된 로그 파일 찾기
find /var/log -type f -name "*.log" -mtime +30
👉 삭제 대상 후보 찾기
4.3 용량 큰 파일 찾기
find / -type f -size +1G
❗ 서버 전체에서 찾을 경우 시간이 오래 걸릴 수 있음
4.4 특정 파일 찾고 바로 삭제 (주의)
find . -name "*.tmp" -delete
- 조건에 맞는 파일 즉시 삭제
- 미리 출력 확인 필수
5. -exec : 찾은 파일로 명령 실행 (중요)
find . -name "*.log" -exec rm -i {} \;
- 찾은 파일을 하나씩 rm에 전달
- {} : 찾은 파일
- \; : 명령 종료
👉 -delete보다 안전하게 제어 가능
6. 초보자가 자주 하는 실수
6.1 경로를 안 쓰고 조건만 쓰는 경우
find -name "*.log" ❌
- 에러 발생
- 해결: find . -name "*.log"
6.2 / 경로에서 무작정 검색
find / -name "*.log"
- 서버 전체 검색
- 매우 느림
👉 가능한 한 검색 범위를 좁혀서 사용
6.3 바로 삭제부터 실행
find . -name "*.log" -delete ❌
- 실수하면 대량 삭제
- 해결: 먼저 -delete 없이 출력 확인
7. 실무에서 자주 쓰는 사용 타이밍
- 로그 파일 정리
- 디스크 용량 부족 원인 분석
- 권한/소유자 문제 파일 찾기
- 배포 전 불필요한 파일 제거
8. 정리 한 줄 요약
- find는 조건 기반 파일 검색의 끝판왕이다.
- 이것만 기억하자:
find 경로 -type f -name "패턴"
반응형