blob: 53c3df8d43c6e5137ae9d3d62d2dbc90858ab82c [file] [log] [blame]
.\" Copyright (c) 2000 Manoj Srivastava <>
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" GNU General Public License for more details.
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <>.
.\" Minor polishing, aeb
.\" Modified, 2002-06-16, Mike Coleman
.TH HOSTS 5 2017-09-15 "Linux" "Linux Programmer's Manual"
hosts \- static table lookup for hostnames
.B /etc/hosts
This manual page describes the format of the
.I /etc/hosts
This file is a simple text file that associates IP addresses
with hostnames, one line per IP address.
For each host a single
line should be present with the following information:
IP_address canonical_hostname [aliases...]
Fields of the entry are separated by any number of blanks and/or
tab characters.
Text from a "#" character until the end of the line is
a comment, and is ignored.
Host names may contain only alphanumeric
characters, minus signs ("\-"), and periods (".").
They must begin with an
alphabetic character and end with an alphanumeric character.
Optional aliases provide for name changes, alternate spellings,
shorter hostnames, or generic hostnames (for example,
.IR localhost ).
The Berkeley Internet Name Domain (BIND) Server implements the
Internet name server for UNIX systems.
It augments or replaces the
.I /etc/hosts
file or hostname lookup, and frees a host from relying on
.I /etc/hosts
being up to date and complete.
In modern systems, even though the host table has been superseded by
DNS, it is still widely used for:
.B bootstrapping
Most systems have a small host table containing the name and address
information for important hosts on the local network.
This is useful
when DNS is not running, for example during system bootup.
Sites that use NIS use the host table as input to the NIS host
Even though NIS can be used with DNS, most NIS sites still
use the host table with an entry for all local hosts as a backup.
.B isolated nodes
Very small sites that are isolated from the network use the host table
instead of DNS.
If the local information rarely changes, and the
network is not connected to the Internet, DNS offers little
.I /etc/hosts
Modifications to this file normally take effect immediately,
except in cases where the file is cached by applications.
.SS Historical notes
RFC\ 952 gave the original format for the host table, though it has
since changed.
Before the advent of DNS, the host table was the only way of resolving
hostnames on the fledgling Internet.
Indeed, this file could be
created from the official host data base maintained at the Network
Information Control Center (NIC), though local changes were often
required to bring it up to date regarding unofficial aliases and/or
unknown hosts.
The NIC no longer maintains the hosts.txt files,
though looking around at the time of writing (circa 2000), there are
historical hosts.txt files on the WWW.
I just found three, from 92,
94, and 95.
# The following lines are desirable for IPv4 capable hosts localhost
# is often used for the FQDN of the machine thishost foo bar master
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
.BR hostname (1),
.BR resolver (3),
.BR host.conf (5),
.BR resolv.conf (5),
.BR resolver (5),
.BR hostname (7),
.BR named (8)
Internet RFC\ 952
.\" This manual page was written by Manoj Srivastava <>,
.\" for the Debian GNU/Linux system.