The /etc/hosts file is used to map hostnames to IP addresses as a local manual substitution or supplement to DNS. It is checked first when the system connects to the hostname and can be used for local development, website blocking, and DNS change testing. 1. It achieves local control over domain name resolution by taking priority over DNS in the system search order; 2. Typical uses include pointing localhost to 127.0.0.1 or pointing custom domain names to local IP; 3. Common application scenarios include local development and testing, blocking specific websites and rehearsing DNS changes; 4. Editing requires administrator permissions and should follow format specifications to avoid errors.
The /etc/hosts
file is a simple text file used by operating systems to map hostnames to IP addresses. It acts as a local, manual alternative or supplement to DNS (Domain Name System). When you type a domain name like example.com
into your browser, your system checks the /etc/hosts
file first before querying external DNS servers. This means you can use it to override where a domain resolves — useful for testing, development, or blocking certain websites.
How Does the /etc/hosts File Work?
When your computer needs to connect to a hostname, it follows a lookup order defined by the system. On Unix-like systems (including Linux and macOS), this is often controlled by the nsswitch.conf
file, which typically lists "files" (ie, /etc/hosts
) before "dns". So the system will check /etc/hosts
first, then go to DNS if no match is found.
A typical line in /etc/hosts
looks like this:
127.0.0.1 localhost
This tells the system that when you try to access localhost
, it should point to the loopback address 127.0.0.1
.
You can add custom entries like:
192.168.1.100 mylocalserver
Now typing mylocalserver
in a terminal or browser will point to that local machine on your network.
Common Uses of /etc/hosts
There are several practical reasons people edit the /etc/hosts
file:
- Local Development : Web developers often map domains like
local.dev
ormysite.test
to127.0.0.1
so they can test websites locally without needing a live server. - Blocking Sites : You can redirect unwanted domains (like ad servers or distracting sites) to
127.0.0.1
or0.0.0.0
. For example:0.0.0.0 badsite.com
- Testing DNS Changes : Before switching DNS records live, you can simulate how things will behave by temporarily editing hosts.
It's important to note that changes to this file affect only the local machine — not other devices on your network.
How to Edit the /etc/hosts File
Editing /etc/hosts
usually require administrative privileges because it's a system-level configuration.
On Linux/macOS , you can open it with a text editor like nano or vim using sudo:
sudo nano /etc/hosts
On Windows , it's located at C:\Windows\System32\drivers\etc\hosts
, and you'll need to open your text editor as an administrator to make changes.
Some basic tips when editing:
- Always back up the original file before making changes
- Use plain text editors — avoid rich-text formats
- Each entry must be on its own line
- Formatting matters: put the IP address first, then one or more spaces or tabs, then the hostname(s)
If something breaks after editing the file, just restore the backup or remove the line causing issues.
That's the basics of what the /etc/hosts
file does and why it matters. It's a small file but surprisingly powerful when used correctly. Just remember — it's easy to mess up if you're not careful, especially on production systems.
The above is the detailed content of What is the purpose of the /etc/hosts file?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

While writing program files or normal text files, programmers and writers sometimes want to know the difference between two files or two versions of the same file. When you compare two computer files on Linux, the difference between their contents is

There are three ways to create empty files in the command line: First, the simplest and safest use of the touch command, which is suitable for debugging scripts or placeholder files; Second, it is quickly created through > redirection but will clear existing content, which is suitable for initializing log files; Third, use echo"> file name to create a file with an empty string, or use echo-n""> file name to avoid line breaks. These three methods have their own applicable scenarios, and choosing the right method can help you complete the task more efficiently.

Are you looking for good software to write mathematical equations? If so, this article provides the top 5 equation editors that you can easily install on your favorite Linux distribution.In addition to being compatible with different types of mathema

dutree is a free, open-source, fast command-line tool for analyzing disk usage, written in the Rust programming language. It was created by combining durep (disk usage reporter) and tree (list directory content in tree-like format) command-line tools

Eclipse is a free integrated development environment (IDE) that programmers around the world use to write software, primarily in Java, but also in other major programming languages using Eclipse plugins.The latest release of Eclipse IDE 2023?06 does

ifconfig in short “interface configuration” utility for system/network administration in Unix/Linux operating systems to configure, manage, and query network interface parameters via command-line interface or in a system configuration scripts

Linux administrators should be familiar with the command-line environment. Since GUI (Graphical User Interface) mode in Linux servers is not commonly installed.SSH may be the most popular protocol to enable Linux administrators to manage the servers

Linux has a rich collection of commands, and while many of them are powerful and useful for various tasks, there are also some funny and whimsical commands that you can try out for amusement. 1. sl Command (Steam Locomotive) You might be aware of the
