
리눅스 서버에서 디스크 용량이 부족할 때는 먼저 df -h로 어느 영역이 찼는지 확인합니다.
그다음 du -sh * | sort -rh 명령어로 어떤 폴더가 큰지 확인할 수 있습니다.
그런데 폴더 단위로 확인한 뒤에는 이런 생각이 들 수 있습니다.
그럼 이 폴더 안에서 실제로 큰 파일은 뭐지?
이때 사용하는 명령어가 바로 find입니다.
예를 들어 100MB 이상인 파일을 찾고 싶다면 아래처럼 사용할 수 있습니다.
find . -type f -size +100M -exec ls -lh {} \;
오늘은 이 명령어가 어떤 의미인지, 언제 쓰면 좋은지, 운영 서버에서는 무엇을 조심해야 하는지 정리해보겠습니다.
1. find 명령어는 언제 쓰나?
find는 리눅스에서 파일이나 디렉터리를 조건에 맞게 찾을 때 사용하는 명령어입니다.
디스크 용량 이슈에서는 보통 아래와 같은 상황에서 사용합니다.
1. 특정 경로 안에서 큰 파일을 찾고 싶을 때
2. 오래된 로그 파일을 찾고 싶을 때
3. 특정 확장자 파일만 찾고 싶을 때
4. 파일 크기 기준으로 정리 대상을 확인하고 싶을 때
예를 들어 /var/log 안에서 100MB 이상인 파일을 찾고 싶다면 이렇게 사용할 수 있습니다.
find /var/log -type f -size +100M -exec ls -lh {} \;
이 명령어는 /var/log 경로 안에서 100MB보다 큰 일반 파일을 찾아서 용량과 파일명을 보여줍니다.
2. 기본 명령어 구조 보기
가장 기본 형태는 아래와 같습니다.
find . -type f -size +100M -exec ls -lh {} \;
하나씩 보면 어렵지 않습니다.
find .
현재 경로(.)부터 찾겠다는 의미입니다.
find .
여기서 . 대신 특정 경로를 넣을 수도 있습니다.
find /var/log
find /data
find /backup
-type f
파일만 찾겠다는 의미입니다.
-type f
여기서 f는 일반 파일을 뜻합니다.
즉, 디렉터리는 제외하고 실제 파일만 찾습니다.
-size +100M
100MB보다 큰 파일을 찾겠다는 의미입니다.
-size +100M
여기서 +는 “초과”의 의미입니다.
+100M : 100MB보다 큰 파일
-100M : 100MB보다 작은 파일
100M : 정확히 100MB 단위에 해당하는 파일
보통 용량 문제를 확인할 때는 +100M, +500M, +1G처럼 사용합니다.
예:
find . -type f -size +500M
find . -type f -size +1G
-exec ls -lh {} \;
찾은 파일을 보기 좋게 출력하기 위한 부분입니다.
-exec ls -lh {} \;
여기서 ls -lh는 파일 크기를 사람이 보기 쉬운 단위로 보여줍니다.
{}는 find가 찾은 파일이 들어가는 자리입니다.
\;는 -exec 명령의 끝을 의미합니다.
즉, 전체 명령어는 이렇게 이해하면 됩니다.
현재 경로에서 100MB보다 큰 파일을 찾아서,
ls -lh 형식으로 보여줘
3. 예시로 보기
예를 들어 /var/log에서 100MB 이상 파일을 찾는다면:
find /var/log -type f -size +100M -exec ls -lh {} \;
출력은 이런 식으로 나올 수 있습니다.
-rw-r--r-- 1 root root 850M May 3 10:20 /var/log/app/error.log
-rw-r--r-- 1 root root 320M May 3 09:10 /var/log/nginx/access.log
-rw-r--r-- 1 root root 150M May 2 22:30 /var/log/messages
이 결과를 보면 어떤 파일이 용량을 크게 차지하고 있는지 바로 확인할 수 있습니다.
다만 여기서 중요한 점은, 큰 파일을 찾았다고 바로 삭제하면 안 된다는 것입니다.
4. 운영 서버에서 주의할 점
find는 매우 유용하지만, 운영 서버에서는 조심해서 사용해야 합니다.
1) 처음부터 / 전체를 대상으로 찾지 않기
아래처럼 서버 전체를 대상으로 검색할 수도 있습니다.
find / -type f -size +100M -exec ls -lh {} \;
하지만 운영 서버에서는 이 방식이 부담이 될 수 있습니다.
서버 전체를 훑기 때문에 시간이 오래 걸릴 수 있고, 파일이 많은 서버에서는 불필요한 부하가 생길 수 있습니다.
그래서 먼저 df -h와 du로 범위를 좁힌 뒤 사용하는 것이 좋습니다.
예:
find /var/log -type f -size +100M -exec ls -lh {} \;
find /data -type f -size +500M -exec ls -lh {} \;
find /backup -type f -size +1G -exec ls -lh {} \;
2) 권한 오류는 2>/dev/null로 숨길 수 있음
일반 계정으로 실행하거나 접근 권한이 없는 경로를 포함하면 권한 오류가 많이 나올 수 있습니다.
이럴 때는 아래처럼 에러 메시지를 숨길 수 있습니다.
find /var/log -type f -size +100M -exec ls -lh {} \; 2>/dev/null
2>/dev/null은 표준 에러 메시지를 버리는 의미입니다.
다만 오류를 숨기는 것이기 때문에, 필요한 정보까지 놓치고 있는 건 아닌지 상황에 따라 판단해야 합니다.
3) 큰 파일을 찾았다고 바로 삭제하지 않기
가장 중요합니다.
큰 로그 파일을 찾았다고 바로 rm으로 삭제하면 위험할 수 있습니다.
특히 현재 프로세스가 잡고 있는 로그 파일을 삭제하면, 파일 목록에서는 사라졌는데 실제 디스크 용량은 바로 반환되지 않는 경우가 있습니다.
이런 경우는 나중에 lsof | grep deleted로 확인해야 할 수 있습니다.
따라서 큰 파일을 찾은 뒤에는 먼저 아래를 확인해야 합니다.
1. 현재 서비스가 사용 중인 파일인지
2. 로그 분석에 필요한 파일인지
3. 백업이 필요한 파일인지
4. 삭제보다 비우기가 안전한 파일인지
5. 담당자 또는 운영 기준상 삭제 가능한 파일인지
5. 실무에서 추천하는 확인 순서
디스크 용량 부족 상황에서는 아래 순서로 확인하면 좋습니다.
Step 1. 전체 사용률 확인
df -h
어느 영역이 찼는지 확인합니다.
Step 2. 큰 폴더 찾기
cd /문제가_있는_경로
du -sh * | sort -rh
어떤 폴더가 큰지 확인합니다.
Step 3. 큰 파일 찾기
find . -type f -size +100M -exec ls -lh {} \;
해당 폴더 안에서 큰 파일을 확인합니다.
Step 4. 조치 가능 여부 판단
찾은 파일이 로그인지, 백업인지, 서비스 데이터인지 확인합니다.
운영 서버에서는 파일을 찾는 것보다 삭제해도 되는지 판단하는 과정이 더 중요합니다.
6. 자주 쓰는 find 예시
현재 경로에서 100MB 이상 파일 찾기
find . -type f -size +100M -exec ls -lh {} \;
/var/log에서 500MB 이상 파일 찾기
find /var/log -type f -size +500M -exec ls -lh {} \;
/backup에서 1GB 이상 파일 찾기
find /backup -type f -size +1G -exec ls -lh {} \;
권한 오류 숨기고 찾기
find /var/log -type f -size +100M -exec ls -lh {} \; 2>/dev/null
7. 정리
find 명령어는 리눅스에서 조건에 맞는 파일을 찾을 때 매우 유용합니다.
디스크 용량 문제에서는 특히 아래처럼 사용할 수 있습니다.
find . -type f -size +100M -exec ls -lh {} \;
이 명령어는 현재 경로에서 100MB 이상인 파일을 찾아서 보기 좋게 출력합니다.
하지만 중요한 것은 파일을 찾은 뒤입니다.
큰 파일을 찾았다고 바로 삭제하지 말고, 반드시 아래 순서를 지켜야 합니다.
확인 → 판단 → 조치
서버 운영에서는 빠르게 지우는 것보다,
무엇을 지워도 되는지 정확히 확인하는 것이 더 안전합니다.
관련 글
- 리눅스 서버 디스크 용량 90% 돌파? 당황하지 말고 이 순서로 확인하세요
- 리눅스 df -h 결과, Use%만 보면 안 되는 결정적인 이유
- 디스크 용량 찼을 때 범인 폴더 찾는 법 - du 명령어 실무 정리
다음 글에서는 삭제했는데 용량이 안 줄어드는 이유와 lsof | grep deleted 확인 방법을 정리해보겠습니다.
'리눅스' 카테고리의 다른 글
| 리눅스 서버 /var/log 용량이 갑자기 커졌을 때 확인하는 법 (0) | 2026.05.06 |
|---|---|
| 리눅스에서 파일 삭제했는데 용량이 안 줄어들 때 lsof로 확인하는 법 (0) | 2026.05.05 |
| 리눅스 서버 디스크 용량이 찼을 때 du -sh로 큰 폴더 찾는 법 (0) | 2026.05.03 |
| 리눅스 서버 df -h 결과, Use%만 보면 안 되는 이유와 확인 순서 (0) | 2026.05.02 |
| 리눅스 서버 디스크 용량 90% 넘었을 때 바로 삭제하지 말고 확인하는 법 (0) | 2026.05.02 |