wc — 줄·단어·바이트 세기

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

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

💬 "wc 명령어"

wc는 줄/단어/바이트를 셉니다. 실무에서는 줄 수(-l)를 압도적으로 많이 씁니다.

파이프와 결합해 특정 조건의 건수를 세는 데 자주 씁니다.

  • 개념: 입력의 줄 수, 단어 수, 바이트 수를 출력합니다.
  • -l: 줄 수만 셉니다(가장 많이 사용).
  • -w / -c: 단어 수 / 바이트 수입니다.
  • 여러 파일: 파일별 결과와 합계를 함께 보여줍니다.

자주 쓰는 옵션

옵션설명
-l줄 수만 출력
-w단어 수만 출력
-c바이트 수만 출력
-m문자 수를 출력(멀티바이트 고려)

필수 명령어 조합 3가지

  • wc -l /var/log/nginx/access.log — 로그 총 요청 줄 수 확인
  • grep -c ' 500 ' /var/log/nginx/access.log — 500 응답 건수 세기(grep -c가 더 빠름)
  • tail -n 1000 /var/log/app.log | grep -c ERROR — 최근 1000줄 중 ERROR 건수

💬 "실제 장애 복구 절차로 예시 만들어줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 규모 파악

로그가 얼마나 쌓였는지 줄 수로 봅니다.

wc -l /var/log/nginx/access.log

2단계 · 조건별 집계

상태코드별 건수를 셉니다.

awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head

3단계 · 추세 비교

시간대별로 나눠 건수를 비교합니다.

grep '18/Oct/2026:02' /var/log/nginx/access.log | wc -l

실무에서는 이렇게 씁니다

1. 오류 비율 계산

상황 — 전체 요청 대비 5xx 비율을 확인해야 합니다.

total=$(wc -l < /var/log/nginx/access.log); err=$(grep -c ' 5[0-9][0-9] ' /var/log/nginx/access.log); echo "$err / $total"

결과 — 오류 건수와 전체 건수를 비교해 비율을 판단합니다.

포인트 — 모니터링 지표(오류율)를 만들 때 같은 계산을 씁니다.

2. 배치 처리 건수 확인

상황 — 배치가 몇 건을 처리했는지 로그로 확인합니다.

grep 'processed' /var/log/app/batch.log | wc -l

결과 — 처리 건수가 로그에 남은 건수와 일치하는지 검증합니다.

포인트 — 처리 시작/종료 로그 건수를 비교하면 누락을 발견할 수 있습니다.

주의할 점

  • 줄 수는 바이트 수보다 계산이 무겁습니다. 큰 파일은 grep -c가 더 빠릅니다.
  • 마지막 줄에 개행이 없으면 wc -l은 그 줄을 세지 않습니다.
  • 파이프로 연결하면 임시 파일 없이도 세지만, 원본을 다시 읽어야 할 때는 비용이 큽니다.

실제 실행 화면

로그 총 줄 수와 500 응답 건수를 확인한 결과입니다.

wc 명령어 실행 결과: 로그 줄 수와 오류 건수

실제 운영 중인 서버

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