在 Linux 里,“hostname(主机名)”其实可能存在于多个地方,具体取决于你用的是哪种系统/发行版以及是否用了 systemd。
/etc/hostname这是静态主机名最常存的地方(尤其 Debian / Ubuntu / CentOS 7+)。
cat /etc/hostname
示例:
my-server
/etc/hosts这里不是真正存 hostname 的地方,但常把 hostname 和 IP 对应起来。
cat /etc/hosts
常见内容:
127.0.0.1 localhost
127.0.1.1 my-server
⚠️ 如果这里没写,某些程序会解析 hostname 失败。
如果你用的是 systemd(Ubuntu 16.04+、CentOS 7+ 等):
hostnamectl
systemd 会把 hostname 存在:
/etc/hostname/proc/sys/kernel/hostnamecat /proc/sys/kernel/hostname
当前正在使用的 hostname 在内核里:
cat /proc/sys/kernel/hostname
或修改:
hostname newname
⚠️ 这只是临时生效,重启会丢。
某些系统还会在下面文件里配置:
/etc/sysconfig/network(CentOS 6 及以前)HOSTNAME=my-server
Linux 的 hostname 主要存在
/etc/hostname,运行时在/proc/sys/kernel/hostname,旧系统可能在/etc/sysconfig/network。
如果你是 想改 hostname / 重启不失效 / Docker / 容器,可以告诉我场景,我给你具体命令。