在Linux中,查看本机名(主机名)最常用命令是
hostname,执行后终端直接显示当前主机名,也可通过
cat /etc/hostname查看配置文件内容,或使用
hostnamectl命令获取更详细信息。
在Linux系统中,主机名(Hostname)是设备在网络中的唯一标识符,用于识别和管理服务器或计算机,正确查看主机名是系统管理的基础操作,以下是6种专业方法,涵盖常用命令及特殊情况处理:
一、hostname命令(最直接)
hostname
效果:直接返回完整主机名(如 ubuntu-server)。
优势:预装于所有Linux发行版,无需额外安装。
️ 注意:
- 添加
-i参数查看IP:hostname -i - 临时修改主机名:
sudo hostname 新主机名(重启失效)
二、查看/etc/hostname文件(永久生效)
cat /etc/hostname
原理:系统启动时从此文件读取主机名配置。
适用场景:需确认永久性主机名(重启后不变的名称)。
三、hostnamectl命令(Systemd系统专用)
hostnamectl
输出示例:

Static hostname: debian-pc # 永久主机名
Transient hostname: temporary-host # 临时主机名
Icon name: computer-server
Chassis: server
Machine ID: d1a7a... # 设备唯一ID
Boot ID: b3f8e... # 启动ID
Operating System: Debian GNU/Linux 12
Kernel: Linux 6.1.0-10-amd64
Architecture: x86-64
优势:显示静态/动态主机名及系统详细信息(推荐Systemd系统使用)。
️ 四、uname命令(查看内核相关信息)
uname -n
输出:与 hostname 结果一致,但作为内核参数可整合进脚本:
echo "主机名: $(uname -n)"
五、nmcli命令(NetworkManager用户)
nmcli general hostname
适用场景:桌面版Linux(如Ubuntu GNOME)通过NetworkManager管理网络时使用。
扩展操作:

nmcli g hostname # 查看 nmcli g hostname "new-host" # 修改
六、特殊问题处理
-
命令不存在?
- 安装
hostname工具:sudo apt install hostname # Debian/Ubuntu sudo yum install hostname # CentOS/RHEL
- 安装
-
主机名含域名(FQDN)怎么办?
使用hostname -f或hostname --fqdn查看完整域名(如server01.example.com)。
总结推荐
| 场景 | 推荐命令 |
|---|---|
| 快速查看 | hostname |
| 确认永久配置 | cat /etc/hostname |
| 获取系统详情(Systemd) | hostnamectl |
| 脚本调用 | uname -n |
️ 权限说明:普通用户可执行查看命令,修改主机名需
sudo权限,生产环境修改主机名后,需更新/etc/hosts文件避免服务异常。
引用说明
本文方法基于:
- Linux
hostname手册页(man 1 hostname) - Systemd
hostnamectl官方文档 - Linux内核参数规范(
man 2 uname)
实践验证环境:Ubuntu 22.04 LTS, CentOS Stream 9, Debian 12。
数据更新于2025年3月,内容符合Linux主流发行版最新实践标准。

