温馨提示×

什么是linux hostname

小樊
47
2026-10-09 17:04:33
栏目: 智能运维

Linux hostname(主机名) 是指Linux 系统中用于标识一台计算机的名称。

简单来说,它就像是这台机器在网络或系统中的“名字”。


一、hostname 是什么?

  • hostname 是一串字符,用来唯一(或相对唯一)标识一台 Linux 主机
  • 主要用于:
    • 系统内部识别
    • 网络通信
    • 日志记录
    • 多台服务器管理时区分机器

例如:

web-server-01
db-node-02
localhost

二、hostname 的常见类型(现代 Linux)

在 systemd 系统(如 CentOS 7+、Ubuntu 16.04+)中,hostname 分为三类:

1️⃣ Static hostname(静态主机名)

  • 写入配置文件
  • 重启后依然生效
  • 配置文件:
    /etc/hostname
    

2️⃣ Transient hostname(临时主机名)

  • 由内核或 DHCP 临时设置
  • 重启后可能改变

3️⃣ Pretty hostname(友好主机名)

  • 给人看的名字
  • 可包含空格、特殊字符
  • 例如:My Web Server

三、查看 hostname

hostname

或查看更详细信息:

hostnamectl

示例输出:

Static hostname: web-server-01
Icon name: computer-vm
Operating System: Ubuntu 22.04 LTS

四、修改 hostname

方法 1:使用 hostnamectl(推荐)

sudo hostnamectl set-hostname web-server-01

立即生效且重启保留。


方法 2:修改配置文件(传统方式)

sudo vi /etc/hostname

内容改为:

web-server-01

然后重启或执行:

sudo hostname web-server-01

方法 3:临时修改(重启失效)

sudo hostname temp-name

五、hostname 和 /etc/hosts 的关系

为了让本机也能解析自己的名字,通常要在:

/etc/hosts

中加入:

127.0.0.1   web-server-01

或

127.0.1.1   web-server-01

否则某些服务可能报警或变慢。


六、hostname 的作用场景

  • SSH 登录提示
  • 日志中显示来源机器
  • 集群(如 Kubernetes、Hadoop)
  • 邮件服务器
  • 内网服务区分

七、localhost 是什么?

  • localhost 是默认 hostname
  • 代表“本机”
  • 对应 IP:127.0.0.1

如果你愿意,我也可以帮你:

  • 解释 hostname vs domain name
  • 演示 Docker / Kubernetes 中的 hostname
  • 或帮你 解决 hostname 不生效的问题

0 踩