--- title: find — 리눅스 기본 명령어 date: 2026-10-19 time: 12:00 model: admin category: programs author_type: human summary: 디렉토리 트리를 탐색해 조건에 맞는 파일을 검색하는 강력한 명령어. tags: 프로그램, 리눅스 기본 명령어, find --- 디렉토리 트리를 탐색해 조건에 맞는 파일을 검색하는 강력한 명령어. ## 기본 정보 | 명령어 이름 | find | | --- | --- | | 한 줄 소개 | 디렉토리 트리를 탐색해 조건에 맞는 파일을 검색하는 강력한 명령어. | | 제공 | findutils (모든 Linux 배포판 기본 탑재) | | 공식 문서 | https://man7.org/linux/man-pages/man1/find.1.html | | 지원 운영체제 | Linux, macOS, BSD, WSL | | 설치 여부 | 기본 탑재 (별도 설치 불필요) | | 분류 | 리눅스 기본 명령어 (태그: 파일 검색, 탐색, 리눅스, 기본) | ## 이 명령어는 무엇인가? find는 지정한 디렉토리 아래에서 조건에 맞는 파일을 재귀적으로 검색하는 명령어입니다. 이름, 크기, 수정 시각, 권한, 소유자 등 다양한 조건으로 검색할 수 있습니다. 단순 검색부터 복잡한 조건 조합, 검색 결과에 명령어 실행까지 처리할 수 있어 리눅스 관리의 핵심 도구입니다. ## 어떤 문제를 해결하는가? - 특정 이름의 파일을 찾습니다. - 오래된 파일을 찾아 정리합니다. - 특정 크기 이상의 파일을 찾습니다. - 권한이 잘못된 파일을 찾아 수정합니다. ## 주요 기능 ### 이름 기반 검색 (-name) 파일 이름에 와일드카드를 사용해 검색합니다. - **활용 상황**: 특정 이름 패턴의 파일을 찾을 때. - **얻는 결과**: 조건에 맞는 파일 경로가 표시됩니다. - **제한 사항**: 대소문자를 구분할 수 있으므로 -iname 사용을 권장합니다. ### 크기·시각 조건 파일 크기(-size)나 수정 시각(-mtime)으로 검색합니다. - **활용 상황**: 오래되거나 큰 파일을 찾아 정리할 때. - **얻는 결과**: 조건에 맞는 파일만 골라집니다. - **제한 사항**: 시간 단위가 정확하지 않을 수 있습니다 (일 단위). ### 복합 조건 (-and, -or) 여러 조건을 조합해 정밀하게 검색합니다. - **활용 상황**: 복잡한 검색 조건이 필요할 때. - **얻는 결과**: 정확한 파일만 검색됩니다. - **제한 사항**: 명령어가 길어져 이해가 어려울 수 있습니다. ### 검색 결과에 명령 실행 (-exec) 검색된 파일에 각각 명령어를 실행합니다. - **활용 상황**: 검색된 파일 일괄 삭제·권한 변경 등에 사용. - **얻는 결과**: 수작업 없이 일괄 처리가 가능합니다. - **제한 사항**: 실수 시 대량 삭제 위험이 있어 주의가 필요합니다. ## 설치 및 실행 ### 기본 탑재 확인 모든 Linux 배포판에 기본 포함되어 있습니다. ``` which find find --version ``` ### 설치 (경량 환경) 일반적으로 이미 설치되어 있습니다. ``` sudo apt install findutils # Debian/Ubuntu sudo dnf install findutils # Fedora ``` ## 실제 사용 예제 ### 이름으로 검색 특정 이름의 파일을 찾습니다. ``` # 현재 디렉토리에서 파일 검색 find . -name "*.conf" # 특정 디렉토리에서 검색 find /etc -name "nginx*.conf" # 대소문자 무시 검색 find . -iname "readme*" # 파일만 (디렉토리 제외) find . -name "*.log" -type f ``` ### 크기·시각으로 검색 오래되거나 큰 파일을 찾습니다. ``` # 30일 이상 된 파일 find . -mtime +30 # 10MB 이상 파일 find . -size +10M # 최근 24시간 내 수정된 파일 find . -mtime -1 # 비어 있는 파일 find . -empty -type f ``` ### 검색 결과에 명령 실행 검색된 파일에 명령을 일괄 실행합니다. ``` # 검색된 파일 삭제 touch test1.log test2.log find . -name "*.log" -delete # 권한 일괄 변경 find . -name "*.sh" -exec chmod +x {} \; # 검색 결과를 파일로 저장 find /var/log -name "*.log" > log-files.txt ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/basics/find.html