head — 파일 앞부분 보기
Linux / 서버 로그 기록 및 분석 / head.html
💬 "head 명령어"
head는 파일의 처음 N줄을 보여줍니다. 형식이 있는 파일의 헤더를 확인할 때 편합니다.
큰 파일을 열기 전에 구조를 빠르게 파악하는 용도로 씁니다.
- 개념: 파일의 앞부분(기본 10줄)을 출력합니다.
- 왼쪽 인자: -n 숫자로 줄 수를 지정합니다.
- 오른쪽 인자: 대상 파일입니다.
- 여러 파일: 여러 파일을 주면 파일별 헤더와 함께 앞부분을 보여줍니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
-n <N> | 앞에서 N줄을 출력합니다 |
-q | 여러 파일일 때 파일명 헤더를 생략합니다 |
-c <N> | 줄이 아니라 앞 N바이트를 출력합니다 |
필수 명령어 조합 3가지
head -n 1 /var/log/nginx/access.log— 로그 첫 줄로 형식 확인head -n 3 data.csv— CSV 헤더 3줄 확인head -c 64 /opt/app/bin/app.bin | xxd | head— 바이너리 시그니처 확인
💬 "보안 점검 관점에서 쓰는 예시 하나 알려줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 형식 확인
파일의 앞 몇 줄로 구조를 파악합니다.
head -n 2 /etc/nginx/nginx.conf
2단계 · 샘플 비교
여러 파일의 앞부분을 비교합니다.
head -n 2 /var/log/nginx/*.log
3단계 · 바이너리 확인
필요하면 바이트 단위로 봅니다.
head -c 32 /opt/app/bin/app | xxd
실무에서는 이렇게 씁니다
1. CSV 컬럼 확인
상황 — 업로드된 CSV의 컬럼 순서를 먼저 확인해야 합니다.
head -n 3 /srv/import/orders.csv
결과 — 헤더와 샘플 2줄로 컬럼 순서·구분자를 확인합니다.
포인트 — 임포트 스크립트 작성 전에 head로 형식을 확인하면 시행착오를 줄입니다.
2. 설정 파일 첫 블록 확인
상황 — 여러 server 블록 중 첫 구조만 빠르게 보고 싶습니다.
head -n 20 /etc/nginx/nginx.conf
결과 — 전역 설정과 include 구조를 빠르게 파악합니다.
포인트 — 전체를 열기 전에 head로 구조를 잡고 less로 자세히 봅니다.
주의할 점
- 기본값이 10줄이라 필요한 줄 수를 명시하지 않아 정보가 부족할 수 있습니다.
- 줄 수를 너무 크게 잡으면 head를 쓰는 의미가 없습니다.
- CSV에 개행이 포함된 필드가 있으면 단순 줄 수 계산이 어긋납니다.
실제 실행 화면
CSV 파일의 헤더와 샘플 줄을 확인한 결과입니다.

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