Snow flake

[command] find 명령어 본문

Programming/Linux

[command] find 명령어

MAYSON 2026. 9. 10. 21:27
반응형

find 명령어는 파일이나 디렉토리를 이름, 크기, 수정일, 권한 등 다양한 조건으로 검색할 때 사용하는 명령어입니다. grep이 파일 "내용"을 검색한다면, find는 파일이나 디렉토리 "자체"를 찾을 때 사용한다는 차이가 있습니다.

# 사용법
find [검색 경로] [옵션] [검색조건]

# 현재 디렉토리에서 readme.txt 파일 찾기
find . -name readme.txt

# /home 디렉토리 전체에서 이름에 log가 들어간 파일 찾기
find /home -name "*log*"

검색 경로를 지정하지 않으면 하위 디렉토리까지 전부 검색 대상이 됩니다. .은 현재 디렉토리를 의미하고, 와일드카드(*)를 활용하면 이름 일부만 알아도 검색이 가능합니다.

주요 옵션

# -type : 파일 종류로 검색 (f: 파일, d: 디렉토리)
find . -type d
find . -type f -name "*.txt"

# -size : 파일 크기로 검색 (+ 이상, - 이하)
find . -size +100M
find . -size -1k

# -mtime : 수정된 날짜로 검색 (일 단위)
find . -mtime -7
find . -mtime +30

# -user : 특정 사용자 소유 파일 검색
find /home -user oracle

-type으로 파일과 디렉토리를 구분해서 찾을 수 있고, -size, -mtime처럼 조건을 더하면 원하는 범위로 검색을 좁힐 수 있습니다. 특히 -mtime -7(최근 7일 이내 수정된 파일)처럼 날짜 조건은 로그 정리나 장애 원인 파악할 때 자주 쓰입니다.

find와 다른 명령어 조합하기

find는 검색 결과를 다른 명령어로 바로 넘겨서 처리할 때 진가를 발휘합니다.

# 찾은 파일을 grep으로 내용까지 검색
find . -name "*.log" | xargs grep ERROR

# 30일 지난 로그 파일 한번에 삭제
find /home/oracle/logs -mtime +30 -exec rm {} \;

# 찾은 파일 목록을 그대로 출력
find . -name "*.txt" -print

-exec 옵션을 쓰면 find로 찾은 파일에 대해 바로 다른 명령어(삭제, 이동, 권한 변경 등)를 실행할 수 있습니다. 특히 오래된 로그 파일을 주기적으로 정리하는 작업에서 정말 많이 쓰이는 패턴입니다.

실무에서 자주 마주치는 상황

서버 운영을 하다 보면 특정 조건에 맞는 파일을 빠르게 찾아야 하는 상황이 자주 생깁니다.

# 용량이 큰 파일 찾아서 디스크 공간 확보하기
find / -size +500M -type f

# 특정 사용자 권한으로 생성된 파일 찾기
find /u01 -user oracle -type f

# 최근 하루 동안 수정된 설정 파일 찾기
find /etc -mtime -1 -type f

디스크 용량이 부족할 때, 혹은 특정 파일이 언제 어디서 생성됐는지 추적할 때 find는 정말 유용한 명령어입니다. grep과 함께 세트로 익혀두면 실무에서 활용도가 크게 올라갑니다.

반응형

'Programming > Linux' 카테고리의 다른 글

[command] df, du 명령어  (0) 2026.09.12
[command] ps, kill 명령어  (0) 2026.09.11
[command] grep 명령어  (0) 2026.09.09
[command] su, sudo 명령어  (0) 2026.09.08
[command] chown 명령어  (1) 2026.09.08
Comments