在Linux系统中,查看主机名(hostname)有多种方法,具体取决于你需要查看的是临时主机名、静态主机名还是完整限定域名(FQDN)。最常用且直接的方式是使用hostname命令,在终端输入hostname即可显示当前系统的主机名。若需要查看完整限定域名,可使用hostname -f或hostname --fqdn,该命令会尝试通过DNS解析返回完整的域名。

对于使用systemd的现代Linux发行版(如CentOS 7+、Ubuntu 16.04+、Debian 8+等),推荐使用hostnamectl命令。执行hostnamectl可以查看详细的系统主机信息,包括Static hostname(静态主机名)、Transient hostname(临时主机名)和Icon name等。如果需要仅查看静态主机名,可运行hostnamectl --static;查看临时主机名则使用hostnamectl --transient;查看完整限定域名使用hostnamectl --fqdn。该命令比传统的hostname提供更丰富且规范化的输出。
此外,Linux内核将主机名存储在/proc/sys/kernel/hostname文件中,可以通过cat /proc/sys/kernel/hostname直接读取。另一个常见的方法是查看/etc/hostname文件(在大多数发行版中),该文件保存了重启后生效的静态主机名,执行cat /etc/hostname即可看到。需要注意的是,某些旧系统或特定配置可能使用/etc/sysconfig/network(RHEL/CentOS 6及更早版本)或/etc/HOSTNAME(SUSE)来定义主机名,但这些在现代系统中已较少见。
如果要获取系统的网络完全限定域名(FQDN),可以使用hostname --fqdn、dnsdomainname或domainname(后两者主要显示DNS域部分)。在脚本或自动化处理中,uname -n也是一个可靠的内建命令,其输出与hostname等价,且不依赖额外的外部程序。需要区分的是,hostname命令输出的通常是不带域名的主机短名称,而hostname -f才会尝试解析出完整域名,具体解析行为受到/etc/hosts和/etc/resolv.conf配置的影响。
综上,建议优先使用hostnamectl查看详细且标准化的主机名信息,使用hostname进行快速查看,使用/etc/hostname或/proc/sys/kernel/hostname查看底层存储值。在较老的系统中,请根据发行版文档选择对应的配置文件路径。

查看详情

查看详情