파일의 앞 부분 부터 출력을 원하는 행을 지정하여 출력한다.

사용법 : head [옵션] [파일명] 
-행 수 : 출력을 원하는 행 수를 쓴다. 기본적으로 10을 사용하여 10개의 라인을 출력한다. 
-c, --bytes=SIZE : 출력을 원하는 용량을 정할 수 있다. SIZE는 b(block=512bytes), k(kilo bytes), m(Mega Bytes)을 숫자뒤에 붙여 용량을 구분하여야 한다. 뒤에 단위가 없을 경우 byte단위로 보여준다. 
-n, --lines=행수 : 출력을 원하는 행수를 쓴다. 
-q, --quiet, --silent : 출력 할 때 파일명을 보여 주지 않는다. 
-v, --verbose : 출력하는 파일명을 보여준다. 
--help : 도움말을 보여준다. 
--version : 버전을 보여준다. 

파일의 앞 부분을 보여주는 명령어이다. 보고자 하는 부분을 행수, 용량으로 지정해 줄수 있다. 이 명령은 주로 긴 파일의 앞 부분을 보려고 할 때 많이 쓰이는 것으로, 로그 파일을 확인할 때에도 tail 명령과 함께 많이 이용된다.
head 명령어를 이용하여 mail 파일의 처음 10줄을 읽어 보자. -v 옵션을 사용하면 출력되는 파일명을 먼저 보여준다. 이 옵션은 출력 내용을 파일로 저장할 때 이 저장 내용이 어느 파일의 앞 부분인지를 보여 주도록 표시하는 데 사용할 수 있다.

# head -v /var/mail/root    
==> /var/mail/root <== 
From root  Wed Nov 12 04:03:37 2003 
Return-Path: <root@linux.net> 
Received: (from root@localhost) 
        by linux.net (8.11.6/8.11.6) id hABJ23R02778 
        for root; Wed, 12 Nov 2003 04:02:03 +0900 
Date: Wed, 12 Nov 2003 04:02:03 +0900 
Message-Id: <200311111902.hABJ23R02778@linux.net> 
From: root@linux.net (Cron Daemon) 
To: root@airz.net 
Subject: Cron <root@linux> run-parts /etc/cron.daily 

10개 행으로 이루어진 메일의 서두 부분을 출력해 보았다.
그러면 이번에는 12번째 줄까지 읽어보도록 하겠다. 다음과 같이 직접 읽을 범위를 지정해 보자.

# head -12 /var/mail/root 

파일 용량을 기준으로 일정 용량까지만 읽어들이는 방법도 있다. -c 옵션을 사용한다.

# head -v -c 74 /var/spool/mail/root 

74 bytes의 용량만큼 출력한다.

[관련 명령어]
cat 파일의 첫 라인부터 아랫방향으로 보여준다.
tail 파일의 마지막 행을 보여준다
tac 파일을 마지막 라인부터 위 방향으로 보여준다.
2005/06/20 20:33 2005/06/20 20:33
도메인의 IP를 알고 싶거나 IP에 해당하는 도메인을 알고 싶을 때 사용하는 명령어이다.

사용법 : host [옵션] [도메인, IP] [서버] 
서버 : 도메인이나 IP를 검색할 네임 서버를 지정한다. 지정되지 않을 경우 시스템에 등록된 도메인 서버를 검색한다.(/etc/resolv.conf) 

-l zone : zone 아래 모든 시스템을 출력한다. 
-v : 자세한 정보를 보여준다. 
-w : DNS 서버 응답을 기다린다. 
-r : 반복 처리하지 않는다. 
-d : 디버깅 모드로 보여준다. 
-t [타입] : 타입을 지정하여 정보를 얻는다. 
 (A : 호스트 IP 주소, NS : 검색한 호스트의 nameserver 호스트명, 
 PTR : 도메인 네임 포인터, ANY : 타입의 모든 정보) 
-a : "-t ANY"와 같은 기능을 한다. 

호스트 이름은 알고 있지만 IP address를 모르는 경우, 혹은 그 반대의 경우 사용한다. host를 이용하면 단지 IP address 뿐만 아니라 해당 호스트 네임이 가지고 있는 하위 호스트 네임도 검색이 가능하다. host는 시스템에 등록 되어있는 DNS 서버를 검색한다. 만약, 다른 DNS 서버를 이용하고 싶다면 검색하고 싶은 호스트명/IP address뒤에 서버의 주소를 써준다.
www.yahoo.co.kr의 IP address를 검색하여 이 주소의 검색에 코넷의 DNS를 이용해 보자.
사용하는 DNS 서버의 정보와 검색한 IP address가 출력된다.

# host www.yahoo.co.kr 168.126.63.1 
Using domain server: 
Name: 168.126.63.1 
Address: 168.126.63.1#53 
Aliases: 

www.yahoo.co.kr is an alias for yahoo.co.kr. 
yahoo.co.kr has address 202.43.214.151 

검색하려는 타입을 -t 옵션으로 정해주면 yahoo.co.kr의 네임서버의 도메인을 알 수 있다.

# host -t NS yahoo.co.kr 
yahoo.co.kr name server ns5.yahoo.com. 
yahoo.co.kr name server ns6.yahoo.com. 
yahoo.co.kr name server ns1.yahoo.com. 
yahoo.co.kr name server ns2.yahoo.com. 
yahoo.co.kr name server ns3.yahoo.com. 
yahoo.co.kr name server ns4.yahoo.com. 
2005/06/20 20:32 2005/06/20 20:32
호스트 ID를 지정하거나 보여주는 명령어

사용법 : hostid [옵션] 
--help : 간단한 도움말을 보여준다. 
--version : 버전을 보여준다. 

hostid 명령은 현재 호스트 ID 번호를 16진수로 보여준다. 이때 -v 옵션이 주어지면, 이 번호를 10진수와 16진수 두개로 보여준다. 이것은 그 호스트의 고유번호이며, 다른 호스트들과 구별할 때, 인터넷 주소를 부여할 때 사용된다.

# hostid 
283d70e9 

이 값은 시스템 관리자가 명령행 인자를 사용해서 새롭게 지정할 수 있는데, 이 값은 /etc/hostid 파일에 저장되고 필요할 경우에 읽혀진다.
2005/06/20 20:31 2005/06/20 20:31