Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스 find 명령어로 디렉토리 내 빈 파일(0바이트) 찾는 방법

이번 튜토리얼에서는 리눅스의 find 명령어를 활용해 '빈(empty)' 파일, 즉 크기가 0바이트인 파일을 찾는 방법을 소개합니다.

빈 파일 정리가 필요한 이유

최근 리눅스 서버를 정리하던 중, 시간이 지나면서 사용자들이 생성하고 방치한 빈 파일이 여럿 쌓여 있는 것을 발견했습니다. 이런 파일들은 디스크 공간을 크게 차지하지는 않지만, 시스템을 깔끔하게 관리하려면 주기적으로 점검하는 것이 좋습니다. 이를 자동화하기 위해 시스템 전체를 훑으며 빈 파일의 개수와 경로를 알려주는 셸 스크립트를 만들기도 했습니다.

비슷한 검색을 직접 실행해 보고 싶다면 아래의 간단한 명령어를 사용해 보세요.

빈 파일 검색 기본 명령어

# find -L /home/stewiegriffin -maxdepth 1 -type f -size 0
/home/stewiegriffin/temp.log
/home/stewiegriffin/brainstorm_notes.txt
/home/stewiegriffin/mail.log
/home/stewiegriffin/niptuck.html

위 명령어는 크기가 0인 파일을 검색합니다. 각 옵션의 역할은 다음과 같습니다.

  • -L: find 명령어는 기본적으로 심볼릭 링크를 제외하기 때문에, 이 옵션을 추가하면 심볼릭 링크도 함께 검색 대상에 포함됩니다.
  • -maxdepth 1: 지정한 디렉터리 자체만 검색하고 하위 디렉터리로 들어가지 않습니다.
  • -type f: 일반 파일(regular file)만 대상으로 합니다.

검색 깊이 조절하기

-maxdepth 1 옵션을 빼고 실행하면 /home/stewiegriffin 내부의 모든 하위 디렉터리까지 빈 파일을 검색합니다. 또한 -maxdepth-mindepth 옵션을 조합하면 검색할 디렉터리 깊이를 원하는 대로 조절할 수 있습니다. 디렉터리 계층이 깊고 파일이 많은 시스템에서 특히 유용합니다.

반대로 비어 있지 않은 파일 찾기

검색 조건을 반전시켜 크기가 0이 아닌 파일, 즉 내용이 있는 파일만 찾을 수도 있습니다. 위 명령어에서 -size 앞에 느낌표(!)를 붙이면 됩니다.

# find -L /home/stewiegriffin -maxdepth 1 -type f ! -size 0
/home/stewiegriffin/apache.log
/home/stewiegriffin/how_to_log_your_actions.txt
/home/stewiegriffin/maillog.log
/home/stewiegriffin/niptuck01.html
/home/stewiegriffin/index.html
/home/stewiegriffin/test.php

검색 범위를 넓게 잡으면 결과가 매우 많이 나올 수 있으니, 실제 삭제 등의 작업으로 이어질 경우에는 출력 결과를 신중히 확인한 뒤 진행하는 것이 안전합니다.

find 명령어의 다양한 활용법이 궁금하다면, 이전에 소개한 리눅스 find 명령어 완벽 가이드도 함께 참고해 보세요.