리눅스에서 수만 줄이 넘는 구성 파일(Config)이나 로그 파일을 다룰 때, 전체 내용을 다 읽는 것은 비효율적입니다. 특히 "이 파일이 무슨 파일인지", "설정의 헤더 부분은 어떻게 되어 있는지"만 빠르게 확인하고 싶을 때가 많죠.
이럴 때 사용하는 것이 바로 head 명령어입니다. 이름 그대로 파일의 '머리' 부분을 출력해 주는 도구로, tail 명령어와 함께 리눅스 사용자의 양대 필수 명령어로 꼽힙니다. 오늘은 이 head 명령어를 실무에서 어떻게 100% 활용할 수 있는지 알아보겠습니다.
1. head 명령어 기본 사용법
head 명령어는 기본적으로 파일의 상위 10줄을 출력합니다. 옵션 없이 파일명만 입력하면 즉시 내용을 확인할 수 있어 매우 간편합니다.
기본 구문: $ head [옵션] [파일명]
head 명령어 핵심 옵션 가이드
| 옵션 | 상세 설명 | 실행 예시 |
|---|---|---|
| -n [숫자] | 파일의 처음부터 지정한 라인 수만큼만 출력합니다. | head -n 5 file.txt |
| -c [바이트] | 지정한 바이트(byte) 크기만큼의 데이터를 출력합니다. | head -c 100 file.log |
| -v (verbose) | 출력 결과 상단에 파일 이름을 헤더로 표시합니다. | head -v config.php |
| -q (quiet) | 여러 파일을 조회할 때 파일명 헤더를 숨깁니다. | head -q *.txt |
2. 15년 차 전문가가 전하는 실무 활용 꿀팁
① 특정 구간 추출하기 (head + tail 조합)
이것은 리눅스 마스터들이 가장 즐겨 쓰는 기술입니다. 예를 들어, 파일의 "20번째 줄부터 30번째 줄까지"만 보고 싶다면 어떻게 할까요? 파이프라인을 사용하면 간단합니다.
$ head -n 30 filename | tail -n 11
*설명: 먼저 처음 30줄을 가져온 뒤(head), 그 결과물 중에서 마지막 11줄(tail)을 출력하면 20~30행만 남게 됩니다.
② 여러 파일의 헤더 한꺼번에 확인하기
설정 파일들이 모여 있는 디렉토리에서 각 파일의 첫 3줄만 보고 싶을 때 유용합니다. 와일드카드(*)를 활용해 보세요.
$ head -n 3 *.conf
③ 마이너스(-) 기호 활용법
head -n -[숫자]를 사용하면 "마지막 n줄을 제외한 나머지 전체"를 출력합니다. 전체 파일에서 꼬리 부분만 싹둑 자르고 싶을 때 유용합니다.
$ head -n -5 memo.txt # 마지막 5줄을 제외하고 출력
3. 자주 묻는 질문 (FAQ)
- Q: head와 cat의 차이점은 무엇인가요?
A:cat은 파일 전체를 한꺼번에 쏟아내지만,head는 필요한 만큼만 끊어서 보여줍니다. 시스템 자원 소모와 가독성 면에서 head가 훨씬 유리합니다. - Q: 숫자를 지정하지 않으면 어떻게 되나요?
A: 기본적으로 시스템은 10줄을 기본값으로 인식하여 출력합니다.
마치며: head 명령어로 데이터 확인 시간을 단축하세요
리눅스 환경에서 데이터의 '얼굴'을 확인하는 head 명령어는 단순하지만 강력합니다. 오늘 배운 구간 추출 기법(head + tail)만 잘 활용해도 텍스트 데이터를 가공하고 분석하는 시간이 획기적으로 줄어들 것입니다.
✅ 오늘 바로 해보기: /etc/passwd 파일의 상위 5줄을 확인해 보세요. 시스템에 등록된 주요 계정 정보를 한눈에 볼 수 있습니다.
$ head -n 5 /etc/passwd
이 포스팅이 도움 되셨다면 공유 부탁드립니다! 다음엔 더 유용한 sed, awk 활용법으로 찾아올게요.
| 체크 항목 | 확인 사항 |
|---|---|
| 라인 수 지정 | -n 옵션 뒤에 숫자가 정확히 입력되었는가? |
| 읽기 권한 | 해당 파일을 읽을 수 있는 권한(r)이 있는가? (필요시 sudo) |
| 파이프라인 활용 | grep이나 tail과 조합하여 효율을 높였는가? |