리눅스 명령어 · 5 min read · Sep 16, 2025

초보자를 위한 리눅스 find 명령어의 16가지 실용적인 예제

Find는 가장 자주 사용되는 리눅스 명령어 중 하나이며, 명령줄 옵션의 형태로 많은 기능을 제공합니다. 이 튜토리얼은 초보자를 대상으로 하며, find 명령어의 기본 사용법과 제공하는 유용한 명령줄 옵션에 대해 설명합니다.

참고: 별도로 명시되지 않는 한, 이 튜토리얼의 모든 find 명령어 관련 예제에 대해 다음 파일을 사용할 것입니다.

1. 현재 디렉토리 및 하위 디렉토리의 모든 파일 나열하기

find 명령어를 사용하면 현재 디렉토리 및 하위 디렉토리의 모든 파일을 빠르게 나열할 수 있습니다. 이를 위해서는 인수나 옵션 없이 명령어를 실행하면 됩니다.

find

여기 우리의 경우 출력은 다음과 같습니다:

현재 디렉토리 및 하위 디렉토리의 모든 파일 나열하기

물론, 나열하려는 내용이 있는 디렉토리가 현재 디렉토리가 아닌 경우 전체 경로를 제공해야 합니다.

2. 이름으로 파일 검색하기

원하는 경우 find 명령어를 사용하여 특정 파일을 이름으로 검색할 수 있습니다. -name 명령줄 옵션을 사용하면 됩니다. 구문은 다음과 같습니다:

find [dir-path] -name [filename]

예를 들어, 다음 명령어는 현재 디렉토리에서 ‘testfile1.txt’라는 파일을 검색합니다.

find . -name testfile1.txt

여기 출력은 다음과 같습니다:

유사하게, 다른 디렉토리에서 파일을 검색할 수 있습니다. 디렉토리가 현재 작업 디렉토리의 하위 디렉토리인 경우, find 명령어가 자동으로 모든 하위 디렉토리에서 검색하므로 아무것도 할 필요가 없습니다.

하지만 완전히 별도의 디렉토리인 경우, 전체 경로를 제공해야 합니다. 예를 들어, 다음 명령어는 사용자의 홈 디렉토리에서 파일을 검색합니다:

find /home -name testfile1.txt

3. 특정 유형의 파일 검색하기

find 명령어는 또한 디렉토리(및 하위 디렉토리)에서 동일한 유형의 파일을 검색할 수 있습니다. 예를 들어, 다음 명령어는 현재 작업 디렉토리에서 모든 .txt 파일을 검색합니다.

find . -name "*.txt"

혹시 모르셨다면, *는 와일드카드 문자입니다. 와일드카드 문자에 대한 자세한 정보는 여기로 가세요.

4. 대소문자 구분 없는 검색 수행하기

기본적으로 find 명령어는 대소문자를 구분하는 검색을 수행합니다(대문자와 소문자를 다르게 취급합니다). 하지만 원한다면 명령어가 대소문자를 구분하지 않는 검색을 수행하도록 강제할 수 있습니다. 이는 -iname 명령줄 옵션을 사용하여 수행할 수 있습니다.

find -iname [filename]

예를 들어,

find -iname testfile1.txt

여기 출력은 다음과 같습니다:

5. 검색 패턴과 일치하지 않는 이름만 표시하기

원한다면 find 명령어에 검색 패턴과 일치하지 않는 파일 이름을 출력하도록 요청할 수 있습니다(이를 반전 검색이라고도 합니다). 이 기능은 ! 또는 -not 연산자를 사용하여 접근할 수 있습니다.

예를 들어

find . -not -name "*.txt"

여기 출력은 다음과 같습니다:

보시다시피, .txt가 아닌 모든 파일이 출력됩니다.

6. 검색을 디렉토리 수준으로 제한하기

find 명령어는 특정 디렉토리 깊이로 검색을 제한할 수 있습니다. 이를 가능하게 하는 명령줄 옵션 중 하나는 -maxdepth입니다.

예를 들어, 다음 디렉토리 구조를 고려해 보세요:

디렉토리 수준으로 검색 제한하기

이제 ‘find’ 하위 디렉토리까지만 검색하도록 find를 설정하고 싶다면(즉, ‘howtoforge’ 하위 디렉토리는 무시해야 함), 다음 명령어를 사용할 수 있습니다:

find . -maxdepth 3 -name "*.txt"

여기서 ‘-maxdepth 3’는 ‘find’가 내부로 들어가서 세 수준만 검색하도록 강제합니다. 첫 번째 수준은 최상위(또는 현재 작업) 디렉토리입니다.

다음은 명령어의 출력입니다:

디렉토리 수준으로 검색 제한하기 출력

maxdepth 외에도 mindepth라는 또 다른 옵션이 있습니다(사용법: ‘-mindepth [N]’). 이 옵션을 사용하면 find 명령어가 검색 작업을 시작하기 전에 ‘N’ 수준 아래로 내려가도록 강제합니다.

예를 들어,

find . -mindepth 3 -name "*.txt"

따라서 ‘find’ 및 그 이하의 디렉토리만 검색됩니다.

유사한 방식으로, 2 수준과 4 수준 사이의 하위 디렉토리에서 .txt 파일을 검색하려면 다음 명령어를 사용할 수 있습니다.

find -mindepth 2 -maxdepth 4 -name "*.txt"

7. 모든 빈 파일 표시하기

원한다면 find 명령어를 사용하여 특정 디렉토리(및 하위 디렉토리)의 모든 빈 파일을 표시할 수 있습니다. 이는 -empty 옵션을 사용하여 수행할 수 있습니다.

예를 들어, 현재 작업 디렉토리의 모든 빈 파일을 표시하려면 다음 명령어를 사용하세요:

$ find . -empty

8. 특정 그룹에 속하는 파일 검색하기

find 명령어는 또한 특정 그룹에 속하는 파일을 검색할 수 있습니다. -group 옵션을 사용하여 이를 수행할 수 있습니다. 예를 들어, 다음 명령어는 현재 작업 디렉토리 및 하위 디렉토리에 있는 ‘howtoforge’ 그룹에 속하는 모든 파일을 나열합니다.

find . -group howtoforge -name "*.txt"

여기 위 명령어의 출력은 다음과 같습니다:

9. 특정 사용자 소유의 파일 검색하기

find 명령어는 또한 소유권에 따라 파일을 검색할 수 있습니다. -user 옵션을 사용하여 이를 수행할 수 있습니다. 예를 들어, 다음 명령어는 사용자 ‘himanshu’가 소유한 현재 디렉토리의 모든 .txt 파일을 표시합니다.

find . -user himanshu -name "*.txt"

10. 최근에 수정된 파일 검색하기

find 명령어는 최근에 수정된 파일을 검색할 수 있습니다. 이는 -mmin 옵션을 사용하여 수행할 수 있습니다. 이 옵션은 분으로 처리되는 숫자를 전달해야 합니다.

예를 들어, 현재 디렉토리에서 1분 전에 수정된 .txt 파일을 검색하려면 다음 명령어를 사용할 수 있습니다:

find . -mmin 1 -name "*.txt"

11. 특정 파일보다 최근에 수정된 파일 검색하기

네, find 명령어는 특정 파일보다 최근에 수정된 파일을 검색할 수 있습니다. 이 기능은 비교할 파일 이름을 전달해야 하는 -newer 옵션을 사용하여 접근할 수 있습니다.

예를 들어:

find . -newer ./examples/find/howtoforge/old.txt -name "*.txt"

12. 출력에서 디렉토리 이름만 표시하기

find 명령어가 출력에서 디렉토리 이름만 표시하도록 하는 명령줄 옵션도 있습니다. 해당 옵션은 -type이며, 값으로 d를 전달해야 합니다.

예를 들어:

find -type d

여기 위 명령어의 출력은 다음과 같습니다:

d 외에도 -type 옵션에 값으로 전달할 수 있는 여러 다른 문자들이 있습니다. 이에 대한 정보는 find 명령어의 매뉴얼 페이지를 참조하세요.

13. inode 번호를 기반으로 파일 검색하기

find 명령어에 inode 번호를 전달하고 해당 파일 이름(있는 경우)을 찾도록 요청할 수도 있습니다. 이 기능은 inode 번호를 값으로 요구하는 -inum 옵션을 통해 접근할 수 있습니다.

다음은 예제입니다:

: ‘ls -li’ 명령어를 사용하여 파일의 inode 번호를 찾을 수 있습니다.

14. 마지막 접근 시간을 기준으로 파일 검색하기

find 명령어는 마지막으로 접근한 시간을 기준으로 파일을 검색할 수 있습니다. 도구에 ‘n’ 분 전에 마지막으로 접근한 파일을 표시하도록 요청할 수 있습니다. 이 기능은 -amin 명령줄 옵션을 사용하여 접근할 수 있습니다.

예를 들어, 다음 명령어는 현재 디렉토리에서 1분 전에 접근한 .txt 파일을 검색합니다:

find -amin 1 -name "*.txt"

15. find와 정규 표현식(정규식) 사용하기

find 명령어는 정규 표현식의 사용을 지원합니다. 이는 -regex 명령줄 옵션으로 지정할 수 있습니다.

find ./ -type f -regex '\.\/test[1-2]\.txt'

이 정규식은 ‘test’라는 단어로 시작하고, 1과 2 사이의 숫자를 포함하며, .txt로 끝나는 모든 파일을 찾습니다. 정규식에서 “./“가 파일의 일부이며 파일 이름만이 아님을 고려하는 것이 중요합니다.

리눅스 find 정규식

16. find 명령어로 파일 크기로 검색하기

-size 명령줄 옵션을 사용하여 파일 크기로 검색할 수 있습니다. 예를 들어, 100MB보다 큰 파일을 찾으려면 다음 명령어를 사용하세요:

find ./ -type f -size +100M

다음 크기 단위를 사용할 수 있습니다:

K = 킬로바이트
M = 메가바이트
G = 기가바이트

따라서 리눅스에서 큰 파일을 쉽게 찾을 수 있습니다.

결론

이 튜토리얼에 언급된 예제는 find 명령어가 기본적으로 어떻게 작동하는지와 제공하는 유용한 명령줄 옵션에 대한 좋은 아이디어를 제공해야 합니다. 시스템에서 이러한 예제를 시도해 보고, 도구의 매뉴얼 페이지도 확인해 보세요.

Share: X/Twitter LinkedIn

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

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