728x90
find
명령어는 리눅스 파일 시스템 내에서 특정 파일이나 디렉토리를 검색하는 데 사용할 수 있다. 다양한 조건을 기반으로 파일과 디렉토리를 검색할 수 있어, 상당히 유용하다.
find
의 기본적인 구문은 다음과 같다.
find [검색 경로] [옵션] [조건]
검색 경로는 검색할 디렉토리의 경로를 지정한다. .
을 사용하면 현재 디렉터리, /
를 사용하면 디렉터리부터 검색한다. 이때 접근 권한이 없는 경로에 대해서는 Permission Denied가 발생한다.
주요 옵션과 조건은 다음과 같다.
옵션 | 설명 |
---|---|
-name |
특정 이름을 가진 파일을 검색한다. |
-iname |
대소문자를 구분하지 않고 파일 이름을 검색한다. |
-type |
파일의 유형을 지정한다. f 는 일반 파일, d 는 디렉토리를 의미한다. |
-size |
파일 크기를 기준으로 검색한다. 예를 들어, +100M 은 100MB 보다 큰 파일을 찾는다. |
-mtime |
파일의 수정 시간을 기준으로 검새한다. 예를 들어, -mtime -7 은 최근 7일 이내에 수정된 파일을 찾는다. |
조건 | 설명 |
---|---|
-exec |
찾은 파일에 대해 특정 명령어를 실행한다. |
-print |
검색 결과를 출력한다. (기본값) |
-delete |
찾은 파일을 삭제한다. |
사용 예제
현재 디렉토리에서 example.txt
라는 파일을 찾기 위해 다음과 같이 작성할 수 있다.
$ find . -name "example.txt"
현재 디렉토리에서 특정 확장자를 가진 파일을 찾기 위해 다음과 같이 작성할 수 있다.
$ find . -name "*.jpg"
현재 디렉토리에서 대소문자를 구분하지 않고 README 파일을 찾기 위해 다음과 같이 작성할 수 있다.
$ find . -iname "README"
현재 디렉토리에서 100MB 이상의 파일을 찾기 위해 다음과 같이 작성할 수 있다.
$ find . -type f -size +100M
현재 디렉토리에서 최근 7일 내에 수정된 파일을 찾기 위해 다음과 같이 작성할 수 있다.
$ find . -type f -mtime -7
현재 디렉토리에서 .log
파일을 찾아서 삭제하기 위해 다음과 같이 작성할 수 있다.
$ find . -name "*.log" -exec rm () \\;
이처럼 find
명령어는 리눅스 시스템에서 파일을 검색하거나 디렉토리 검색을 위해 유용하게 사용할 수 있다.
728x90