wc — 줄·단어·바이트 세기
Linux / 서버 로그 기록 및 분석 / wc.html
💬 "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 응답 건수를 확인한 결과입니다.

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