如何用 hostname 命令快速查看主机名?

在Linux系统中,主机名(Hostname)是设备在网络中的唯一标识符,用于区分不同服务器或设备,查看主机名是系统管理的基础操作,以下是几种专业、可靠且常用的方法,适用于所有主流Linux发行版(如Ubuntu、CentOS、Debian等):
命令

hostname

输出示例

server01

说明

  • 这是最直接的方法,hostname 命令会直接返回当前系统的主机名。
  • 附加参数:
    • hostname -s:显示短主机名(不包含域名)。
    • hostname -f:显示完整域名(FQDN)。

通过 hostnamectl 命令(Systemd系统专用)

命令

hostnamectl

输出示例

   Static hostname: server01
         Icon name: computer-server
           Chassis: server
        Machine ID: a1b2c3d4e5f6g7h8
           Boot ID: x1y2z3a4b5c6d7e8
  Operating System: Ubuntu 22.04 LTS
            Kernel: Linux 5.15.0-86-generic
      Architecture: x86-64

说明

  • 专用于使用 Systemd 的现代Linux系统(如Ubuntu 16.04+、CentOS 7+)。
  • 可查看静态主机名(Static hostname)、动态主机名(Transient hostname)以及操作系统详情。

通过 /etc/hostname 文件查看

命令

cat /etc/hostname

输出示例

server01

说明

  • 该文件存储系统的静态主机名,重启后生效。
  • 此方法适合脚本调用或需直接读取配置的场景。

通过 uname 命令查看内核主机名

命令

uname -n

输出示例

server01

说明

  • uname -n 显示内核运行时的主机名(与 hostname 命令结果一致)。
  • 附加参数:uname -a 可查看全部系统信息(含主机名)。

通过环境变量 $HOSTNAME 查看

命令

echo $HOSTNAME

输出示例

server01

说明

  • 此环境变量由Shell动态生成,适用于Bash/Zsh等终端。
  • 注意:非所有Shell都支持,可靠性低于 hostname 命令。

通过 nmcli 命令(NetworkManager用户)

命令

nmcli general hostname

输出示例

server01

说明

  • 适用于使用NetworkManager管理网络的系统(如桌面版Ubuntu)。
  • 需提前安装NetworkManager:sudo apt install network-manager

总结与建议

  1. 常规场景:优先使用 hostnamehostnamectl(简单高效)。
  2. 脚本调用:读取 /etc/hostname 文件(避免依赖命令输出)。
  3. 永久修改主机名
    • Systemd系统:sudo hostnamectl set-hostname 新主机名
    • 传统系统:编辑 /etc/hostname 并重启。

重要提示:主机名需符合RFC协议规范(仅包含字母、数字、连字符,不含空格或特殊符号),否则可能导致网络服务异常。


引用说明基于以下权威来源:

  • Linux Man Pages(hostname(1), hostnamectl(1)
  • Filesystem Hierarchy Standard(/etc/hostname 规范)
  • Systemd官方文档(freedesktop.org)
  • GNU Coreutils手册(uname 命令)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8601.html

(0)
酷番叔酷番叔
上一篇 2025年7月25日 05:19
下一篇 2025年7月25日 05:34

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信