주요 옵션
`find` 명령어의 다양한 옵션들을 조합하여 파일 시스템 내에서 파일을 검색하고 처리해 보세요.
1. 기본 검색
2. 시간 조건
3. 크기 및 권한 조건
4. 액션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`find` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
논리 연산자
`find` 명령어는 여러 조건을 조합하여 더욱 정교한 검색을 수행할 수 있도록 논리 연산자를 제공합니다.
연산자 | 설명 | 예시 |
---|---|---|
-and (또는 생략) | 왼쪽과 오른쪽 조건 모두 참일 때 | `find . -name "*.txt" -and -size +1M` |
-or | 왼쪽 또는 오른쪽 조건 중 하나라도 참일 때 | `find . -name "*.log" -or -name "*.tmp"` |
-not (또는 !) | 조건이 거짓일 때 | `find . -not -name "*.txt"` |
( ) | 조건 그룹화 (이스케이프 필요) | `find . \( -name "*.txt" -or -name "*.doc" \)` |
연산자 우선순위
`find` 명령어의 연산자는 일반적으로 액션(Action)이 조건(Expression)보다 나중에 평가됩니다. 또한, 조건 내에서는 `( )`를 사용하여 우선순위를 명시적으로 지정할 수 있습니다. 괄호를 사용할 때는 셸에서 특별한 의미를 가지므로 백슬래시(`\`)로 이스케이프해야 합니다.
사용 예시
`find` 명령어의 실용적인 사용 예시들을 통해 파일 검색 및 관리를 연습해 보세요.
현재 디렉토리에서 '.log' 확장자를 가진 모든 파일 찾기
find . -name "*.log"
현재 위치에서 `.log`로 끝나는 모든 파일을 검색합니다.
50MB보다 큰 파일 찾기
find /var -size +50M
시스템의 `/var` 디렉토리 아래에서 크기가 50MB를 초과하는 모든 파일을 검색합니다.
7일 이내에 수정된 'conf' 파일 찾기
find . -name "*.conf" -mtime -7
현재 디렉토리에서 7일 이내에 수정된 `.conf` 파일을 찾습니다.
접근 권한이 777인 모든 디렉토리 찾기
find / -type d -perm 777
시스템 전체에서 권한이 777로 설정된 디렉토리를 찾아 보안상 위험 요소를 확인합니다.
오래된 '.tmp' 파일 삭제
find /tmp -name "*.tmp" -mtime +30 -delete
30일보다 오래된 모든 `.tmp` 파일을 `/tmp` 디렉토리에서 찾아 삭제합니다.
찾은 파일에 대해 특정 명령어 실행 (chmod)
find . -name "*.sh" -exec chmod 755 {} \;
현재 디렉토리에서 `.sh` 확장자를 가진 모든 파일에 실행 권한(755)을 부여합니다.
특정 사용자 소유의 파일 중 1GB보다 큰 파일 찾기
find /home -user user1 -size +1G
`/home` 디렉토리에서 `user1`이 소유하고 크기가 1GB를 초과하는 파일을 검색합니다.