在 Linux 中,获取 hostname(主机名) 常见有以下几种方式:
hostname 命令(最常用)hostname
输出当前主机名。
hostnamectl(推荐,systemd 系统)hostnamectl
输出示例:
Static hostname: myserver
Icon name: computer-vm
Chassis: vm
...
只获取主机名:
hostnamectl --static
/etc/hostname 文件cat /etc/hostname
这是大多数 Linux 发行版存放主机名的文件。
uname 命令uname -n
等价于 hostname。
getentgetent hosts $(hostname)
或:
getent hostname
(部分系统支持)
/proc/sys/kernel/hostnamecat /proc/sys/kernel/hostname
| 方法 | 适用情况 | 备注 |
|---|---|---|
hostname |
通用 | 最快 |
hostnamectl |
systemd 系统 | 信息最全 |
/etc/hostname |
启动配置 | 静态主机名 |
uname -n |
通用 | 内核信息 |
/proc/sys/kernel/hostname |
通用 | 内核参数 |
sudo hostnamectl set-hostname newname
或修改 /etc/hostname 后重启。
如果你是在 脚本中获取 hostname、Docker 容器、嵌入式 Linux 或 网络相关场景,可以告诉我,我可以给你更针对性的方案。