본문으로 바로가기

[Linux] find 명령어 정리 (파일 찾기)

category OS 2020. 8. 1. 11:04

윈도우의 경우 탐색기와 같은 GUI나 실행쪽의 찾기 항목에서 원하는 파일을 검색할 수 있지만,

 

리눅스나 유닉스, MAC과 같은 OS에서는 터미널 통해 찾아야되기 때문에 쉽지 않다.

 

 

대표적으로 간단하게 사용할 수 있는 명령어가 find 인데,

 

간단하게 정리해본다.

 

 

- Find 명령어 옵션 정리

    find [OPTION...] [PATH] [EXPRESSION...]
      OPTION
        -P        : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용.
        -L        : 심볼릭 링크에 연결된 파일 정보 사용.
        -H        : 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외.
        -D        : 디버그 메시지 출력.
      EXPRESSION
        -name     : 지정된 문자열 패턴에 해당하는 파일 검색.
        -empty    : 빈 디렉토리 또는 크기가 0인 파일 검색.
        -delete   : 검색된 파일 또는 디렉토리 삭제.
        -exec     : 검색된 파일에 대해 지정된 명령 실행.
        -path     : 지정된 문자열 패턴에 해당하는 경로에서 검색.
        -print    : 검색 결과를 출력. 검색 항목은 newline으로 구분. (기본 값)
        -print0   : 검색 결과를 출력. 검색 항목은 null로 구분.
        -size     : 파일 크기를 사용하여 파일 검색.
        -type     : 지정된 파일 타입에 해당하는 파일 검색.
        -mindepth : 검색을 시작할 하위 디렉토리 최소 깊이 지정.
        -maxdepth : 검색할 하위 디렉토리의 최대 깊이 지정.
        -atime    : 파일 접근(access) 시각을 기준으로 파일 검색.
        -ctime    : 파일 내용 및 속성 변경(change) 시각을 기준으로 파일 검색.
        -mtime    : 파일의 데이터 수정(modify) 시각을 기준으로 파일 검색.

 

- 실제 사용 예제

1. 현재 폴더에서 abc.json 파일 찾기

find . -name "abc.json"

 

2. /(루트) 경로 아래 대상으로 abc.json 파일 찾기 (permission denied 방지를 위해 sudo 로 실행)

sudo find / -name "abc.json"

 

3. 발생하는 오류 출력 무시하기 ( 2> /dev/null 추가 )

find . -name "abc.json" 2> /dev/null