[Linux] find 명령어

2020. 11. 25. 01:27[개발] 지식/미분류

참고

리눅스 find 명령어 사용법. (Linux find command) - 리눅스 파일 검색
양햄찌가 만드는 세상
Linux 파일명에 날짜 포함시키기 방법

find 명령어

find는 리눅스에서 파일 및 디렉토리를 검색할 때 사용하는 명령이다.
리눅스 파일 시스템에는 수많은 파일과 디렉토리가 있으므로, 이를 효율적으로 찾아야 하는 필요성이 있다.(반드시)
find의 기본적인 사용법과 간단한 응용에 대해 알아보자.

※ find 명령어에 대한 더 자세히 알고싶다면 find --help 명령어를 참고하자.

스펙

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) 시각을 기준으로 파일 검색.

또한 표현식 사용 시 연산자(Operator)를 사용하여 "두 개 이상의 표현식" 조합이 가능한데요, find 명령에서 사용할 수 있는 연산자에는 아래와 같은 것들이 존재합니다.

표현식 설명
(expression) expression 우선순위 지정.
!expression
-not expression expression 결과에 NOT 연산.
expression -a expression
expression -and expression
expression expression expression 간 AND 연산.
expression -o expression
expression -or expression expression 간 OR 연산.

명령어 사용

보통 아래와 같이 사용합니다.

find . -name "특정이름"

현재 디렉토리를 기준으로 모든 하위 디렉토리 까지 특정 이름으로 된 파일 검색하려면 아래와 같이 사용합니다.

find . -name "특정이름"
<