grep — 문자열 검색

Linux / 서버 로그 기록 및 분석 / grep.html

서버 로그 기록 및 분석원문등록 2026-10-17

💬 "grep 명령어"

  • 개념: 파일이나 명령 출력에서 특정 문자열이 들어간 줄만 골라 보여줍니다. 로그 분석에서 가장 많이 쓰입니다.
  • 출력 구조: 일치하는 줄만 출력합니다. 일치하는 게 없으면 아무것도 나오지 않습니다.
  • 실무 권장 출력: 파일 이름과 줄 번호가 필요하면 <code>grep -rn</code>을, 개수만 셀 때는 <code>grep -c</code>를 씁니다.
  • 왼쪽 열: 해당 없음 — 일치한 줄 원문이 그대로 출력됩니다.
  • 오른쪽 열: 해당 없음 — <code>-n</code>을 붙이면 앞에 줄 번호가, <code>-r</code>이면 파일 경로가 붙습니다.

필수 명령어 조합 3가지

  • grep "ERROR" app.log — 로그에서 ERROR 줄만 추출
  • grep -rn "listen" /etc/nginx — 폴더 전체에서 문자열 위치 검색
  • grep -c "ERROR" app.log — 일치 줄 개수만 세기

여기에 알아두면 좋은 옵션도 있습니다.

  • -i — 대소문자를 구분하지 않습니다
  • -v — 일치하는 줄을 제외하고 봅니다

💬 "실제 서버 작업에서 쓰는 예시 하나만 알려줘"

시나리오: 장애가 난 시각의 에러 로그를 좁혀 찾는 과정입니다.

1단계: 에러 줄 추출

줄 번호와 함께 ERROR를 찾습니다.

grep -n "ERROR" app.log

2단계: 건수 확인

에러가 몇 건인지 셉니다.

grep -c "ERROR" app.log

3단계: 최근 것만 보기

마지막 에러들을 확인합니다.

grep "ERROR" app.log | tail -n 20

실제 실행 화면

grep -n과 grep -rn으로 문자열을 찾은 예시 화면입니다.

grep 명령어 실행 결과: 일치하는 로그 줄과 설정 위치

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.