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분 전