温馨提示×

centos怎么替换hosts文件

小樊
32
2026-10-20 19:23:54
栏目: 智能运维

在 CentOS 中替换(或修改)hosts 文件,通常就是操作 /etc/hosts 这个文件。下面给你几种常用方法,从简单到规范。


方法一:直接编辑(最常用)

  1. 备份原 hosts 文件(推荐)
sudo cp /etc/hosts /etc/hosts.bak
  1. 使用 vi 编辑
sudo vi /etc/hosts
  1. 格式示例
127.0.0.1   localhost
192.168.1.10  test.example.com
  1. 保存退出
  • 按 Esc
  • 输入 :wq 回车

方法二:用 echo 追加内容

echo "192.168.1.20  node1" | sudo tee -a /etc/hosts

-a 表示追加,不加会覆盖整个文件


方法三:直接替换整个 hosts 文件

如果你已经有新的 hosts 文件,比如 /root/new_hosts:

sudo cp /root/new_hosts /etc/hosts

或修改权限后覆盖:

sudo install -m 644 /root/new_hosts /etc/hosts

方法四:使用 sed 替换某行(进阶)

例如把旧 IP 改成新 IP:

sudo sed -i 's/192.168.1.10/192.168.1.20/' /etc/hosts

注意事项

  • 必须有 root 权限(用 sudo)
  • 修改后一般立即生效,无需重启
  • 某些服务(如 DNS 缓存、NetworkManager)可能需要:
sudo systemctl restart NetworkManager
  • 云服务器可能被 cloud-init 覆盖 hosts,需修改:
sudo vi /etc/cloud/cloud.cfg

注释或删除:

- update_etc_hosts

如果你是想 批量替换 / 自动化 / 集群统一 hosts,可以告诉我你的使用场景,我可以给你更合适的方案。

0 踩