> 파일 및 디렉토리 관리 > find

find 명령어 완전 정복

Linux에서 파일 시스템 내에서 파일과 디렉토리를 검색하는 `find` 명령어에 대한 가이드입니다. 다양한 조건과 액션을 조합하여 원하는 파일을 효율적으로 찾아낼 수 있습니다.

주요 옵션

`find` 명령어의 다양한 옵션들을 조합하여 파일 시스템 내에서 파일을 검색하고 처리해 보세요.

1. 기본 검색

2. 시간 조건

3. 크기 및 권한 조건

4. 액션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`find` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

논리 연산자

`find` 명령어는 여러 조건을 조합하여 더욱 정교한 검색을 수행할 수 있도록 논리 연산자를 제공합니다.

주요 논리 연산자 여러 조건을 결합할 때 사용되는 연산자입니다. 기본적으로 AND(`-a`)가 적용됩니다.
연산자 설명 예시
-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를 초과하는 파일을 검색합니다.


동일 카테고리 명령어