Aller au contenu principal

23. Search for Files

원문 링크

개요

find 명령어는 다양한 기준을 사용하여 Linux 시스템 전체에서 파일을 찾을 수 있게 합니다. 기억된 디렉토리 구조에 의존하는 것이 아니라, 예상치 못한 시나리오와 복잡한 쿼리에 검색 기능이 매우 유용합니다.

특정 파일 유형 찾기

확장자로 파일을 찾으려면 와일드카드와 함께 -name 매개변수를 사용합니다:

find /usr/share/ -name '*.jpg'

이는 지정된 디렉토리의 모든 JPEG 파일을 반환합니다.

파일 크기로 검색

-size 옵션을 사용하여 큰 파일을 식별합니다. 예를 들어, 10메가바이트를 초과하는 파일 찾기:

find /lib64/ -size +10M

크기 접미사: 바이트(기본값), K(킬로바이트), M(메가바이트), G(기가바이트).

수정 시간으로 검색

분 기반 검색에는 -mmin을, 일 기반 검색에는 -mtime을 사용합니다:

find /dev/ -mmin -1

매개변수 작동 방식:

  • -mmin 5: 정확히 5분 전에 수정됨
  • -mmin -5: 지난 5분 이내에 수정됨
  • -mtime 0: 지난 24시간 이내에 수정됨

대소문자 구분

-name 옵션은 대소문자를 구분합니다. 대소문자를 구분하지 않는 매칭에는 -iname을 사용합니다:

find -iname felix

고급 매개변수

조건 결합:

find -name "f*" -size 512k # AND operator

-not 또는 \!를 사용한 부정:

find -not -name "f*"
find \! -name "f*"

-o OR 연산자:

find -o -name "f*" -o -size 512k

권한 기반 검색:

find -perm 664      # 정확히 일치
find -perm -664 # 최소 이러한 권한
find -perm /664 # 나열된 권한 중 하나라도
find -perm u=rw,g=rw,o=r # find files with exactly 664 permissions
find -perm /u=r,g=r,o=r # 나열된 권한 중 하나라도

핵심 원칙

검색 경로는 항상 매개변수 앞에 지정합니다: find /path -criteria, 그 반대가 아닙니다.

-mmin vs -mtime 단위 주의

-mtime 2는 2시간이 아닙니다!

-mtime의 단위는 **일(days)**입니다. 시간 단위 검색에는 -mmin을 사용하세요.

옵션단위
-mtime일(days)
-mmin분(minutes)

/usr 디렉토리에서 최근 2시간 내 수정된 파일 찾기 (2시간 = 120분):

find /usr -mmin -120 -type f

-mmin 부호 의미:

  • -mmin -120: 120분 이내 (최근 2시간)
  • -mmin +120: 120분 이전 (2시간 넘은 파일)
  • -mmin 120: 정확히 120분 전