温馨提示×

如何获取linux hostname

小樊
59
2026-09-12 17:00:44
栏目: 智能运维

在 Linux 系统中,获取主机名(hostname)有多种方式,下面列出常用方法:

1. 使用 hostname 命令

hostname

直接输出当前主机名。

2. 使用 hostnamectl 命令(systemd 系统)

hostnamectl

或更精确地只获取主机名:

hostnamectl --static
hostnamectl --transient
hostnamectl --pretty

3. 查看 /etc/hostname 文件

cat /etc/hostname

该文件通常保存系统静态主机名。

4. 使用 uname 命令

uname -n

输出网络节点主机名。

5. 通过环境变量(如果已设置)

echo $HOSTNAME

6. 编程方式获取(示例)

C 语言:

#include <unistd.h>
#include <stdio.h>

int main() {
    char name[256];
    gethostname(name, sizeof(name));
    printf("%s\n", name);
    return 0;
}

Python:

import socket
print(socket.gethostname())

Shell 脚本:

echo "Hostname: $(hostname)"

补充说明

  • 静态主机名(static):写入 /etc/hostname,重启后保留
  • 瞬态主机名(transient):运行时由内核维护,可由 DHCP 等修改
  • 漂亮主机名(pretty):人类可读名称,可包含特殊字符

如果你是要在脚本、程序或特定发行版中获取,可以告诉我具体场景,我可以给更针对性的建议。

0 踩