[Linux] 파일의 머리와 꼬리만 빠르게 훔쳐보기 - head & tail 명령어 완벽 정리
안녕하세요! 리눅스 환경이나 라즈베리파이 터미널에서 작업을 하다 보면, 수백 줄에서 수만 줄에 달하는 방대한 소스 코드나 로그 파일을 마주하게 됩니다.
이때 파일의 전체 내용을 다 열어보지 않고, 맨 앞부분(머리)이나 맨 뒷부분(꼬리)만 아주 빠르게 확인하고 싶을 때 사용하는 치트키 같은 명령어가 있습니다.
바로 head와 tail입니다.
오늘은 리눅스 서버 관리자들의 최애 명령어인 이 두 가지의 개념과 실무 활용 팁을 정리해 보겠습니다.
🙋♂️ 왜 파일 전체를 보면 안 되나요?
일반적으로 파일 내용을 볼 때 cat이나 less 명령어를 자주 사용합니다.
cat명령어는 파일 내용을 한 번에 터미널에 다 뱉어내기 때문에, 파일이 너무 크면 화면이 폭주하며 스크롤이 넘어가 버립니다.- 대용량 로그 파일(수 GB 짜리)을 일반 편집기로 열려고 하면 컴퓨터가 멈추거나 메모리가 고갈되는 대참사가 일어날 수 있습니다. 그래서 우리는 필요한 ‘일부분’만 잘라서 보는 지혜가 필요합니다.
1. 파일의 시작 부분 확인하기: head
head는 말 그대로 파일의 맨 위(머리)부터 기본 10줄을 출력해 주는 명령어입니다.
$ head eggzy.py
- 위와 같이 입력하면 eggzy.py 파일의 상위 10줄이 화면에 나타납니다.
- 언제 쓸까요? 수천 줄짜리 소스 코드가 있을 때, 이 파일이 무슨 파일인지 맨 위에 적힌 주석(설명)이나 라이브러리 임포트(import) 구문만 빠르게 확인하고 싶을 때 아주 유용합니다.
💡 원하는 줄 수만큼 지정하기 (-n 옵션)
만약 10줄이 아니라 딱 5줄만 보고 싶다면 -n 옵션을 사용합니다.
$ head -n 5 eggzy.py
참고로 head 명령어는 워낙 자주 쓰이다 보니 -n을 생략하고 바로 숫자를 붙여도 똑같이 작동합니다.
$ head -5 eggzy.py
2. 파일의 끝 부분 확인하기: tail
tail은 head와 반대로 파일의 맨 아래(꼬리)부터 기본 10줄을 출력해 줍니다.
$ tail eggzy.py
💡 실무에서 tail이 ‘최애 명령어’인 이유
현업 서버 개발자나 시스템 관리자들이 가장 많이 쓰는 명령어가 바로 이 tail입니다. 왜냐하면 웹 서버(Nginx, Apache)나 데이터베이스(MySQL)에 에러가 발생했을 때, 에러 기록은 언제나 파일의 맨 밑(가장 최신 기록)에 쌓이기 때문입니다.
# 최신 에러 로그 5줄만 빠르게 확인하기
$ tail -n 5 /var/log/syslog
🔥 대박 꿀팁: 실시간 로그 감시하기 (-f 옵션)
tail 명령어의 진가는 바로 -f (Follow) 옵션에 있습니다. 이 옵션을 붙이면 파일을 일회성으로 읽고 끝내는 게 아니라, 터미널을 열어둔 채로 파일 뒤에 새로 추가되는 내용을 실시간으로 계속 추적해 줍니다.
$ tail -f /var/log/syslog
- 위 명령어를 켜두고 웹사이트에 접속하거나 시스템에 명령을 내리면, 화면에 로그가 실시간으로 주르륵 올라오는 것을 볼 수 있습니다. (마치 영화 속 해커 화면처럼요!)
- 실시간 감시 상태를 종료하고 터미널 브레이크를 걸고 싶을 때는 Ctrl + C를 누르면 안전하게 빠져나올 수 있습니다.
❓ 덤: 명령어 옵션이 기억 안 날 때는?
head나 tail 외에 다른 리눅스 명령어를 쓰다가 어떤 옵션 스위치들을 쓸 수 있는지 까먹었다면, 방대한 매뉴얼(man) 페이지를 다 읽을 필요 없이 명령어 뒤에 –help를 붙여보세요.
$ tail --help
해당 명령어가 제공하는 핵심 옵션 다이제스트를 터미널에서 즉석으로 확인할 수 있습니다.
📌 요약 가이드
| 명령어 | 기능 | 실무 활용 예시 |
|---|---|---|
| head -5 파일명 | 파일의 처음 5줄 출력 | 소스 코드 상단 주석/설명 확인 |
| tail -5 파일명 | 파일의 마지막 5줄 출력 | 가장 최근에 발생한 에러 기록 확인 |
| tail -f 파일명 | 파일에 추가되는 내용을 실시간 감시 | 서버 실행 후 실시간 버그 추적(디버깅) |
| –help | 명령어 뒤에 붙여 빠른 도움말 보기 | 옵션 단축키가 기억 안 날 때 |
마우스 없이 터미널 하나로 서버를 간지나게 제어하는 첫걸음, head와 tail을 꼭 기억해 두세요! 궁금한 점이 있다면 댓글로 남겨주세요. 😊
댓글 남기기