geonex.log
[UNIX 명령어 #7] find, grep – 파일 및 텍스트 검색 본문
728x90
find, grep 명령어란?
find
와 grep
은 유닉스, 리눅스, macOS 환경에서 파일과 폴더, 텍스트 데이터를 효율적으로 검색할 때 반드시 사용하는 명령어이다.
대량의 파일과 로그, 코드 등에서 원하는 파일이나 특정 내용을 빠르게 찾을 수 있다.
1. find – 파일/폴더 검색
find [경로] [조건] [동작]
find
명령어는 지정한 경로에서 조건에 맞는 파일이나 폴더를 찾아낸다.
파일 이름, 크기, 수정일, 권한 등 다양한 조건으로 검색할 수 있다.
조건/옵션 | 설명 |
---|---|
-name "패턴" | 파일명 패턴(와일드카드)으로 검색한다 |
-type f/d | 파일(-type f), 디렉터리(-type d)만 검색한다 |
-size +100M | 100MB보다 큰 파일을 검색한다 |
-mtime -3 | 3일 이내 수정된 파일을 검색한다 |
-exec 명령 {} \; | 검색된 파일에 대해 추가 명령을 실행한다 |
-delete | 검색된 파일을 즉시 삭제한다(주의) |
2. grep – 파일 내 텍스트 검색
grep [옵션] "패턴" [파일명]
grep
명령어는 파일이나 표준 입력에서 특정 문자열(패턴)이 포함된 줄을 검색한다.
여러 파일, 디렉터리 전체, 복잡한 정규표현식 검색도 가능하다.
옵션 | 설명 |
---|---|
-i | 대소문자 구분 없이 검색한다 |
-r | 디렉터리 전체를 재귀적으로 검색한다 |
-n | 패턴이 나온 줄 번호도 함께 출력한다 |
-v | 패턴이 없는 줄만 출력한다 |
--color | 검색된 문자열에 색상을 입혀서 표시한다 |
3. 실전 활용 예시
- 특정 파일명 검색
find . -name "*.log"
: 현재 폴더와 하위 폴더에서 .log 파일을 모두 찾는다 - 최근 수정된 파일만 검색
find /var/log -mtime -2 -type f
: /var/log 아래 2일 이내 수정된 파일을 모두 찾는다 - 특정 단어 포함 줄만 검색
grep "ERROR" server.log
: server.log에서 "ERROR"가 포함된 줄을 모두 출력한다 - 디렉터리 전체에서 패턴 검색
grep -r "password" /etc
: /etc 아래 모든 파일에서 "password"를 검색한다 - 줄 번호와 함께 출력
grep -n "user" config.txt
: config.txt에서 "user"가 포함된 줄과 그 줄 번호를 출력한다 - 검색된 파일에 명령 실행
find . -name "*.bak" -delete
: 현재 폴더에서 .bak 파일을 찾아 즉시 삭제한다(복구 불가)
4. 알아두면 좋은 점
- find는 복잡한 조건, 대량 파일 검색에도 매우 강력하다
- grep은 정규표현식 검색, 빠른 텍스트 추출에 적합하다
- find, grep 조합으로 강력한 자동화/배치 작업이 가능하다
- macOS, 리눅스 모두에서 거의 동일하게 동작한다
5. 정리
find, grep 명령어는 유닉스 계열 시스템에서 파일 및 텍스트 검색의 핵심 도구이다.
다양한 옵션과 조건을 활용해 수많은 파일/로그/코드에서 원하는 정보를 쉽고 빠르게 찾을 수 있다.
다음 편에서는 파일 다운로드, 네트워크 확인, 프로세스 관리 등 시스템 운영에 유용한 명령어들을 소개할 예정이다.
728x90
'테크 > 활용' 카테고리의 다른 글
[UNIX 명령어 #9] useradd, passwd, chmod, chown, top – 사용자와 권한, 시스템 관리 (0) | 2025.06.20 |
---|---|
[UNIX 명령어 #8] wget, curl, ps, kill – 네트워크와 프로세스 관리 (0) | 2025.06.20 |
[UNIX 명령어 #6] cat, less, head, tail – 파일 내용 확인 (0) | 2025.06.20 |
[UNIX 명령어 #5] mkdir, rmdir – 폴더 생성과 삭제 (0) | 2025.06.20 |
[UNIX 명령어 #4] rm – 파일과 디렉터리 삭제 (0) | 2025.06.20 |