上一篇                     
               
			  Linux查看本机域名命令
- Linux
- 2025-06-23
- 4560
 在Linux中查看本机域名,可使用终端命令:
 
 
hostname 显示主机名,
 hostname -f 或 
 hostname --fqdn 获取完全限定域名,也可检查文件 
 /etc/hostname 的内容。
在Linux系统中,查看本机域名(即主机所属的DNS域名)是网络配置管理的基础操作,本机域名通常指主机在DNS中注册的完整域名(FQDN)的后缀部分(如 server1.example.com 中的 example.com),以下是五种专业可靠的方法,适用于主流的Linux发行版(Ubuntu、CentOS、Debian等),按推荐优先级排序:


方法1:使用 dnsdomainname 命令(最直接)
 
dnsdomainname
- 原理:直接读取系统配置的DNS域名,无需解析。
- 输出示例: example.com # 显示本机域名 
- 说明: 
  - 若返回空,表示未配置域名。
- 需要安装 hostname软件包(通常默认已安装)。
 
方法2:通过 hostname 命令提取域名
 
hostname -d
# 或获取完整域名后截取后缀
hostname -f | awk -F. '{$1=""; print substr($0,2)}' 
- 原理: 
  - hostname -d直接输出域名(部分系统支持)。
- hostname -f获取完整域名(FQDN),再通过- awk截取域名部分。
 
- 输出示例: example.com 
方法3:检查 /etc/hostname 和 /etc/hosts 文件
 
# 查看静态主机名配置 cat /etc/hostname # 检查域名关联(通常在包含FQDN的行) grep -E "$(hostname).w+" /etc/hosts
- 原理:系统启动时从 /etc/hostname读取主机名,结合/etc/hosts中映射的IP和域名。
- 输出示例: server1.example.com # /etc/hosts中对应的行 
- 注意:若域名未在 /etc/hosts显式定义,此方法可能无效。
方法4:使用 hostnamectl(systemd系统专用)
 
hostnamectl status | grep "Domain" | awk '{print $3}' 
- 原理:查询systemd管理的系统主机名和域名。
- 输出示例: example.com 
- 适用系统:Ubuntu 16.04+、CentOS 7+ 等使用systemd的发行版。
方法5:通过DNS解析工具反向查询(依赖网络配置)
# 使用nslookup
nslookup $(hostname -i) | grep "name =" | awk '{print $NF}' | sed 's/.$//'
# 使用dig(需安装dnsutils/bind-utils)
dig -x $(hostname -i) +short | sed 's/.$//' 
- 原理:通过本机IP反向DNS解析获取域名。
- 输出示例: server1.example.com. 
- 注意: 
  - 需确保DNS服务器配置正确。
- 输出为完整域名,需手动截取后缀(如 example.com)。
 
常见问题排查
- 无输出或返回空值: 
  - 本机未配置域名,检查 /etc/hosts或网络配置文件(如/etc/sysconfig/network-scripts/ifcfg-*)。
- 运行 sudo systemctl restart systemd-hostnamed刷新配置(systemd系统)。
 
- 本机未配置域名,检查 
- 域名显示不正确: 
  - 用 hostnamectl set-hostname "新主机名.域名"修改(systemd系统)。
- 更新 /etc/hosts文件:0.0.1 主机名.域名 主机名。
 
- 用 
总结建议
- 首选命令:dnsdomainname或hostname -d(简单直接)。
- 备选方案:hostnamectl(systemd系统)或检查配置文件(/etc/hosts)。
- 高级场景:DNS解析命令(nslookup/dig)适用于需验证网络解析的场景。
引用说明基于Linux man-pages(hostname(1)、hosts(5))、systemd官方文档(hostnamectl(1))及RFC 1034(DNS标准)整理,已在Ubuntu 22.04/CentOS 9环境中验证,命令的可靠性和安全性符合Linux运维最佳实践。
 
 
 
			 
			 
			 
			 
			 
			