hostname 是 Linux 系統查詢與設定主機名稱的核心工具。本文整理常用參數、顯示格式控制、永久修改主機名的正確流程,並說明 FQDN 與 DNS 域名的關係。

# 顯示目前主機名
hostname
# 顯示完整參數說明
hostname -h
| 參數 | 長參數 | 說明 |
|---|---|---|
| -s | --short | 短主機名(第一個點之前) |
| -f | --fqdn / --long | 完整網域名稱 (FQDN) |
| -d | --domain | DNS 網域名稱 |
| -i | --ip-address | 主機名對應的 IP 位址 |
| -a | --alias | 別名 |
| -y | --yp / --nis | NIS/YP 網域名稱 |
hostname -v 新主機名
/etc/hostname(僅主機名)/etc/hosts,確保 127.0.0.1 對應新主機名hostnamectl set-hostname 新主機名(systemd 系統)或重啟網路服務注意: 僅執行 hostname 新名稱 僅影響目前行程,重啟後會還原。
若未使用 DNS/BIND,FQDN 由 /etc/hosts 決定。格式範例:
127.0.0.1 localhost localhost.localdomain
192.168.1.10 server01.example.com server01
此時 hostname -f 回傳 server01.example.com,hostname -d 回傳 example.com。
善用 hostname -s/-f/-d/-i 快速取得所需格式;永久變更請修改 /etc/hostname 與 /etc/hosts,並配合 hostnamectl 確保持久化。