插件窝 干货文章 Linux hostname命令行操作

Linux hostname命令行操作

主机 hostname 修改 bash 982    来源:    2025-05-09

在 Linux 系统中,hostname 命令用于查看或修改系统的主机名。以下是常见的操作方法和相关命令:


1. 查看当前主机名

hostname

或使用更详细的命令:

hostnamectl

hostnamectl 会显示主机名及相关配置信息,如静态主机名、动态主机名等)


2. 临时修改主机名(重启后失效)

hostname 新主机名

例如:

hostname myserver

注意:此修改仅对当前会话有效,重启系统后会恢复原主机名。


3. 永久修改主机名

方法 1:使用 hostnamectl(推荐)

sudo hostnamectl set-hostname 新主机名

例如:

sudo hostnamectl set-hostname myserver

修改会立即生效,且重启后仍然保留。

方法 2:手动修改配置文件

  • 编辑 /etc/hostname 文件:

    sudo nano /etc/hostname
    

    删除原有内容,写入新主机名,保存退出。

  • 更新 /etc/hosts 文件(可选但建议): 确保文件中有一行将主机名映射到 127.0.0.1 或本地 IP:

    127.0.0.1   localhost myserver
    

4. 检查修改结果

hostnamectl status

或:

cat /etc/hostname

5. 其他相关命令

  • 显示短主机名(不包含域名)bash hostname -s
  • 显示完整域名(FQDN)bash hostname -f
  • 显示所有网络接口的主机名bash hostname -I

注意事项

  1. 权限要求:永久修改主机名需要 root 权限(使用 sudo)。
  2. 依赖服务:某些服务(如 Apache、Postfix)可能依赖主机名,修改后需重启服务: bash sudo systemctl restart apache2
  3. 网络环境:如果主机名用于网络标识(如局域网),需确保名称唯一且符合 DNS 规则(避免空格或特殊字符)。

常见问题

  • 修改后未生效
    确保已正确编辑 /etc/hostname/etc/hosts,并重启系统或运行: bash sudo systemctl restart systemd-hostnamed
  • hostname: the specified hostname is invalid
    主机名需符合规则(仅包含字母、数字、连字符,且不以连字符开头/结尾)。

通过上述操作,你可以灵活管理 Linux 系统的主机名。推荐使用 hostnamectl 工具以确保兼容性(尤其适用于 systemd 系统)。