파일 검색 · 2 min read · Sep 14, 2025
find 명령어로 파일 및 폴더 검색하기
find 명령어로 파일 및 폴더 검색하기
이 튜토리얼에서는 find 명령어와 이를 사용하여 파일 시스템에서 파일을 빠르게 찾는 방법을 살펴보겠습니다. Find는 시스템의 어디에서나 파일을 찾을 수 있는 강력한 유틸리티로, 마운트된 드라이브와 이동식 저장 장치, 정규 표현식 처리, 심지어 해당 파일에서 다른 명령어를 실행할 수 있습니다. 다행히도 대부분의 사용자에게 필요한 모든 기능을 제공하기 위해 몇 가지 간단한 옵션만 필요합니다.
find 명령어의 형식은 다음과 같습니다:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]
H, L 및 P 옵션은 심볼릭 링크를 따를지 여부를 지정합니다. debugopts는 디버깅 정보를 제공하기 위해 존재하며, -0level은 쿼리 최적화를 제공합니다. 이 튜토리얼과 find의 대부분 사용에서는 경로와 표현식만 지정하면 됩니다.
경로
경로는 파일 시스템에서 검색할 위치를 지정합니다. Find는 이 경로와 모든 하위 디렉토리를 검색합니다. 전체 파일 시스템을 검색하려면 경로에 ‘/‘를 지정하십시오.
표현식
expression은 세 부분으로 구성됩니다: OPTIONS, TESTS 및 ACTIONS.
OPTIONS
-help 이 옵션은 find 명령어 사용법에 대한 간단한 요약을 출력합니다.
find -help-mount 이 옵션은 find에게 마운트된 USB 드라이브 및 검색 속도가 느릴 수 있는 다른 볼륨과 같은 다른 파일 시스템의 디렉토리를 검색하지 않도록 지시합니다.
TESTS
테스트 섹션은 find에게 무엇을 찾아야 하는지를 알려줍니다.
-executable 이 옵션은 find에게 실행 파일과 디렉토리만 반환하도록 지시합니다. 이름을 알고 있는 디렉토리를 찾거나( -file d 플래그와 결합) 실행 파일을 찾는 데 유용합니다( -file f 플래그와 결합).
-name/-iname 이 옵션은 검색하려는 파일(또는 디렉토리) 이름의 문자열을 제공합니다. 이 문자열은 큰따옴표(“)로 묶어야 합니다. 메타문자(*',?’, 및 []')는 이름의 일부에 사용할 수 있습니다. -name은 대소문자를 구분하는 검색을 수행하고 -iname은 대소문자를 구분하지 않는 검색을 수행합니다. -regex -name 대신 이 옵션을 사용하여 Emacs 스타일의 정규 표현식을 사용하여 이름을 검색합니다. -type 이 옵션을 사용하여 파일(-type f) 또는 디렉토리(-type d)를 찾고 있는지 지정합니다. #### ACTIONS 이 섹션은 find 명령어의 결과에 대해 작업을 수행하는 데 사용됩니다. -exec 찾은 각 파일에 대해 명령어를 실행하고 파일 이름을 명령어에 전달합니다. ### 오류 억제 일반적으로 비루트 사용자 계정으로 모든 디렉토리를 검색할 때 "find:/var/spool/cron/crontabs`: 권한 거부“와 같은 많은 오류가 발생합니다. find 명령어에 2>/dev/null을 추가하여 이러한 오류를 출력에서 제거할 수 있습니다. ### 예제 실행 파일을 찾기 위해 전체 파일 시스템 검색 find / -name "grep" -executable -type f 2>/dev/null 마운트된 드라이브를 제외한 전체 파일 시스템에서 디렉토리 검색 find / -mount -executable -iname "music" -type d 2>/dev/null ### 추가 읽기 이 튜토리얼은 find의 기능 중 일부만 다룹니다. 필요한 대부분의 작업을 수행하기에 충분하길 바라지만, find 매뉴얼에는 더 많은 옵션이 있습니다. man find 검색어에 더 많은 유연성을 제공하는 정규 표현식에 대한 정보는 POSIX 정규 표현식의 매뉴얼 페이지를 참조하십시오. man 7 regex
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.