리눅스 검색 · 3 min read · Nov 15, 2025

리눅스에서 터미널로 파일 검색하는 방법

리눅스에서 파일과 디렉토리를 검색하고 찾는 방법은 여러 가지가 있지만, 아마도 가장 쉽고 빠른 방법은 터미널을 통해서일 것입니다. 그러나 많은 리눅스 사용자들이 이에 대해 잘 알지 못해 불필요한 좌절을 겪곤 합니다. 여기 여러분이 시스템에서 찾고 있는 것을 찾는 데 도움이 되기를 바라는 간단한 가이드를 제공합니다. 여기서는 두 가지 다른 검색 애플리케이션을 다룰 것입니다. 데이터베이스를 사용하여 검색 속도를 높이는 locate 명령과 파일 시스템에서 직접 검색 작업을 수행하는 find 명령입니다.

Locate 명령 사용하기

locate ” 명령은 리눅스 사용자가 활용해야 할 첫 번째 수단입니다. 그 이유는 다른 어떤 방법보다 훨씬 빠르기 때문입니다. 이러한 비할 데 없는 속도의 이유는 locate 명령이 실제로는 필요한 파일이나 디렉토리를 찾기 위해 로컬 하드 디스크를 검색하는 것이 아니라, 시스템의 모든 파일 경로를 포함하는 mlocate.db 데이터베이스 파일을 읽기 때문입니다.

locate를 아직 설치하지 않았다면, 다음 명령어를 사용하세요:

Debian 및 Ubuntu

sudo apt install locate

CentOS, AlmaLinux 및 Rocky Linux

dnf install locate

첫 사용을 위한 locate 명령 준비하기

첫 사용 전에 mlocate.db 데이터베이스를 업데이트하려면 다음을 실행하세요:

sudo updatedb

locate를 사용하려면 터미널을 열고 찾고 있는 파일 이름 뒤에 locate를 입력하세요. 이 예제에서는 이름에 ‘sunny’라는 단어가 포함된 파일을 검색하고 있습니다.

locate sunny

locate 명령으로 파일 검색

Locate는 또한 검색 키워드가 데이터베이스에서 몇 번 일치하는지 알려줄 수 있습니다. 이는 “-c” 매개변수를 명령에 포함시켜 “count”를 나타내는 방식으로 이루어집니다.

locate -c sunny

키워드가 몇 번 일치하는지 찾기 위해 locate 사용

사용자가 여기서 염두에 두어야 할 점은 “locate”가 찾고 있는 파일의 특정하고 정확한 이름이 필요하다는 것입니다. 이는 다른 더 유연한 도구와는 다릅니다. 즉, locate는 이름을 확실히 알고 있는 것을 찾는 데는 좋지만, 파일 이름을 정확히 기억하지 못할 때는 그다지 유용하지 않습니다.

locate howtoforge

vs

locate Howtoforge

Locate는 정확한 파일 이름이 필요합니다

게다가 “ locate ”가 데이터베이스 파일을 읽기 때문에 결과가 오래되었거나 완전히 정확하지 않을 수 있습니다. 이 문제를 완화하기 위해, 터미널 세션에서 “ sudo updatedb ”를 입력하여 파일 경로 데이터베이스를 업데이트할 수 있습니다.

locate 명령을 사용하는 더 많은 예제를 보려면 여기에서 확인하세요.

그 후에도 여전히 원하는 결과를 얻지 못하거나 결과의 수에 압도당한다면, 다음 단계인 “find” 명령으로 진행하세요.

Find 명령 사용하기

find ” 명령은 훨씬 더 강력하지만 느린 검색 유틸리티입니다. 이는 “locate” 명령과는 달리 “find”가 실제로 사용자가 원하는 파일과 디렉토리를 위해 디스크를 검색하기 때문입니다. Find는 파일이나 디렉토리를 찾으려 할 때 이름을 기억하지 못할 경우에 완벽합니다. 왜냐하면 “find”는 특정 사용자 또는 사용자 그룹에 속하는 파일, 최근에 수정되거나 접근된 파일, 특정 크기 범위의 파일, 숨겨진 파일, 실행 파일, 읽기 전용 파일 및 특정 권한을 가진 파일을 검색할 수 있기 때문입니다. 가장 좋은 점은 사용자가 위의 여러 기준을 하나의 “find” 명령으로 결합하여 결과를 좁힐 수 있다는 것입니다.

좁히기 위해 “find”를 실행할 때 가장 먼저 해야 할 일은 특정 디렉토리에서 검색하도록 지시하는 것입니다. 이는 검색 프로세스를 상당히 빠르게 하지만 항상 디렉토리의 크기에 따라 다릅니다. 파일이 있을 것 같은 위치를 알고 있다면, 터미널을 열고 해당 디렉토리로 이동한 다음 “ find . [filename] ”을 실행하세요. 그 점은 find에게 현재 디렉토리에서 검색하라고 지시합니다. 홈 디렉토리에서 검색하려면 점을 “~/”로 바꾸고, 전체 파일 시스템에서 검색하려면 대신 “/”를 사용하세요.

예를 들어, 다운로드 디렉토리에서 포스터가 포함된 파일을 검색하고 싶습니다. 파일 이름에 “poster”라는 단어가 포함되어 있지만 정확한 이름은 기억나지 않습니다. 그래서 터미널에서 “cd Downloads” 명령을 사용하여 다운로드 폴더로 이동한 다음 다음 명령을 입력합니다:

sudo find . -name "*poster*"

결과는 다음과 같습니다:

리눅스에서 find 명령 사용

이것은 다운로드 폴더에 “billy_poster copy”라는 pdf 파일이 있다는 것을 알려줍니다. 만약 내가 그것이 어디에 있는지 모른다면, “find”는 부모 디렉토리에서 검색했을 때 여전히 그것이 다운로드 폴더에 있다는 것을 알려줄 것입니다.

파일 이름으로 find로 파일 검색

이제 “-name” 매개변수를 “-iname”으로 바꾸면 대소문자에 관계없이 결과를 얻을 수 있습니다. 이는 “locate”에는 없는 기능이므로 파일 이름에 대해 확신이 없을 때 유용한 요소입니다.

sudo find . -iname "*poster*"

find 명령에서 -iname 옵션 사용

이제 같은 포스터 파일을 여전히 찾고 있다고 가정해 보겠습니다. 내가 기억하는 것은 파일 크기가 5MB 미만이라는 것뿐입니다. 이 경우 사용할 명령은 다음과 같습니다:

find ~/ -size -5M

만약 2MB보다 크다고 알고 있다면, 명령은 “find ~/ -size +2M”가 됩니다. 가장 좋은 점은 find가 불리언 연산자를 지원하여 검색을 더욱 강력하게 만든다는 것입니다. 이 예제에서는 파일 크기가 5MB 미만이고 2MB보다 큰 것을 알고 있다는 것을 결합한 명령을 사용할 것입니다. 이 명령은 다음과 같습니다:

find / -size -5M -and -size +2M

크기로 파일 찾기

마지막으로, 파일에 대해 아무것도 기억하지 못하지만 3분 이내에 접근했음을 기억한다고 가정해 보겠습니다. 이를 찾기 위해 find 명령을 다음과 같이 사용하세요:

find / -amin -3

이것은 반 시간에 대해 “find / -amin -30”이 되고, 두 시간에 대해서는 “-amin -120”이 됩니다. 만약 파일에 2일 전에 접근했다면, 대신 다음을 사용하세요:

find / -time -2

이것은 검색 위치에서 지난 이틀 동안 접근한 모든 파일을 표시합니다.

타임스탬프로 파일 찾기

위의 내용이 대부분의 일반적인 사용 사례 시나리오를 다룬다고 생각합니다. 강력한 “find” 명령에 대한 더 많은 정보는 터미널에서 “man find”를 입력하여 확인하세요. 원하는 것을 찾는 데 행운을 빕니다.

리눅스 find 명령의 더 많은 예제는 여기에서 찾을 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.