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