SW Tips/Linux

파일 찾기 명령어 find

썸초이스 2024. 8. 29. 15:07

find 명령어는 리눅스 및 유닉스 시스템에서 파일과 디렉토리를 검색할 때 사용하는 강력한 도구입니다. 파일 시스템에서 조건에 맞는 파일이나 디렉토리를 찾아주는 기능을 제공합니다.

기본 문법

find [경로] [조건] [액션]

주요 옵션과 사용 예제

1. 경로 지정

  • .: 현재 디렉토리
  • /path/to/dir: 특정 경로에서 검색

예: 현재 디렉토리와 하위 디렉토리에서 파일을 찾기

find .

 

2. 조건

  • -name "파일명": 파일 이름으로 검색
  • -type f: 일반 파일 검색
  • -type d: 디렉토리 검색
  • -size [크기]: 파일 크기로 검색
  • -mtime [일수]: 마지막 수정일 기준으로 검색
  • -perm [권한]: 파일 권한으로 검색

예: .txt 확장자를 가진 파일 찾기

find . -name "*.txt"

 

3. 액션

  • -print: 기본적으로 찾은 파일의 경로를 출력합니다. (find 명령어의 기본 동작)
  • -exec [명령어] {} \;: 찾은 파일에 대해 명령어를 실행
  • -delete: 찾은 파일을 삭제
  • -ls: 찾은 파일의 상세 정보를 출력

예: .log 파일을 찾고 삭제하기

find . -name "*.log" -delete

 

예: 찾은 파일의 목록을 출력하고 ls 명령어로 상세 정보 보기

find . -name "*.txt" -exec ls -l {} \;

 

4. 조건 조합

  • -o: OR 조건
  • -a: AND 조건 (기본값)
  • !: NOT 조건

예: .txt 또는 .md 확장자를 가진 파일 찾기

find . \( -name "*.txt" -o -name "*.md" \)

예: .txt 확장자가 아닌 파일 찾기

find . ! -name "*.txt"

 

 

5.  파일 크기 검색

  • -size +100M: 100MB보다 큰 파일
  • -size -10k: 10KB보다 작은 파일

예: 1GB보다 큰 파일 찾기

find . -size +1G

 

6. 파일 권한으로 검색

  • -perm 644: 권한이 644인 파일

예: 권한이 755인 파일 찾기

find . -perm 755