명령어/Linux

[리눅스] find 파일 찾기 이름 크기 수정시간

jykim23 2026. 7. 9. 11:05
반응형

부제: 조건으로 파일을 찾고, 찾은 것에 바로 명령을 실행하기

find . -name "*.log"        # 이름으로
find . -type f -mtime +30   # 30일 넘게 안 바뀐 파일
find . -size +100M          # 100MB 넘는 파일
$ find proj -name "*.log"
proj/logs/app.log

find는 디렉터리를 훑어 조건에 맞는 파일을 찾는다.
이름(-name)·종류(-type)·크기(-size)·수정 시간(-mtime)을 조건으로 걸고,
찾은 것에 바로 명령을 실행할 수도 있다.

이렇게도 쓴다

찾은 파일마다 명령을 실행한다(-exec, {}가 파일명 자리).

find . -name "*.txt" -exec wc -l {} \;

 

30일 넘게 안 바뀐 로그를 지운다(로그 청소 단골).

find . -name "*.log" -mtime +30 -delete

 

권한 없는 디렉터리 에러는 버리고 결과만 본다.

find / -name "*.conf" 2>/dev/null

 

빈 디렉터리를 찾는다.

find . -type d -empty

 

찾은 파일을 xargs로 한 번에 넘긴다(공백·개행 안전, -print0).

find . -name "*.log" -print0 | xargs -0 rm
반응형