0

0

linux显示或设置主机名是什么-hostname 命令使用与实例

P粉390130307

P粉390130307

发布时间:2025-06-28 09:32:11

|

450人浏览过

|

来源于https://www.runoob.com/linux/linux-comm-hostname.html

转载

linux显示或设置主机名是什么-hostname 命令使用与实例

Linux hostname 命令


什么是 hostname

hostname(主机名)是标识网络中计算机的唯一名称。就像每个人都有自己的名字一样,每台计算机也需要一个独特的名称来在网络中被识别。

在 Linux 系统中,hostname 用于:

  • 标识本地计算机
  • 在网络通信中识别设备
  • 影响某些网络服务的运行
  • 显示在终端提示符中

主机名通常分为三种类型:

  1. 静态主机名:存储在配置文件中,系统重启后保持不变
  2. 临时主机名:运行时临时设置,重启后失效
  3. 漂亮主机名:可包含特殊字符的描述性名称(如"My Laptop")

hostname 命令基本语法

hostname 命令的基本使用格式如下:

hostname [选项] [新主机名]

如果不带任何参数,直接执行 hostname 命令会显示当前系统的主机名:

实例

$ hostname
ubuntu-server

常用选项参数说明

hostname 命令支持多种选项来查看和设置不同类型的主机名:

选项 说明
-a, --alias 显示主机的别名(如果设置了的话)
-A, --all-fqdns 显示所有网络接口的 FQDN(完全限定域名)
-b, --boot 如果未设置主机名,则使用默认主机名
-d, --domain 显示 DNS 域名
-f, --fqdn, --long 显示 FQDN(完全限定域名)
-F, --file 从指定文件读取主机名
-i, --ip-address 显示主机的 IP 地址
-I, --all-ip-addresses 显示所有网络接口的 IP 地址
-s, --short 显示短主机名(去掉域名部分)
-y, --yp, --nis 显示 NIS 域名

设置主机名的三种方法

1. 临时设置主机名(重启后失效)

实例

sudo hostname new-hostname

示例:

实例

$ sudo hostname test-server
$ hostname
test-server

注意:这种方法设置的主机名在系统重启后会恢复为原来的主机名。

2. 永久设置主机名(修改配置文件)

在大多数现代 Linux 发行版中(使用 systemd),可以这样永久修改主机名:

实例

sudo hostnamectl set-hostname new-hostname

示例:

实例

$ sudo hostnamectl set-hostname production-server

这个命令会同时修改:

  • /etc/hostname 文件
  • 系统的静态主机名

3. 手动编辑配置文件

你也可以直接编辑主机名配置文件:

  1. 编辑 /etc/hostname 文件:

    Audo Studio
    Audo Studio

    AI音频清洗工具(噪音消除、声音平衡、音量调节)

    下载
    sudo nano /etc/hostname

    删除原有内容,只写入新的主机名

  2. 更新 /etc/hosts 文件,确保有一行将主机名映射到 127.0.0.1:

    127.0.0.1   localhost new-hostname
    
  3. 应用更改(无需重启):

    sudo systemctl restart systemd-hostnamed

查看不同类型的主机名

查看静态主机名

实例

hostnamectl --static
# 或
cat /etc/hostname

查看临时主机名

实例

hostname
# 或
hostnamectl --transient

查看漂亮主机名

实例

hostnamectl --pretty

查看 FQDN(完全限定域名)

实例

hostname -f
# 或
hostnamectl --fqdn

实际应用示例

示例1:查看当前系统的完整主机信息

实例

$ hostnamectl
   Static hostname: ubuntu-server
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1a2b3c4d5e6f7g8h9i0j
           Boot ID: 1k2l3m4n5o6p7q8r9s0t
    Virtualization: kvm
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-42-generic
      Architecture: x86-64

示例2:同时设置静态和漂亮主机名

实例

sudo hostnamectl set-hostname "server01" --pretty "Primary Web Server"

示例3:通过网络获取主机名信息

实例

$ hostname -i
192.168.1.100

$ hostname -I
192.168.1.100 10.0.0.100

常见问题与解决方案

问题1:设置主机名后不生效

解决方案

  1. 确保同时更新了 /etc/hosts 文件
  2. 检查是否有其他服务(如 NetworkManager)覆盖了主机名设置
  3. 尝试重启系统或运行:
    sudo systemctl restart systemd-hostnamed

问题2:主机名包含非法字符

解决方案

  • 主机名只能包含:
    • 字母 a-z
    • 数字 0-9
    • 连字符 (-)
  • 不能以连字符开头或结尾
  • 长度通常限制在 63 个字符内

问题3:网络服务无法识别新主机名

解决方案

  1. 重启相关网络服务:
    sudo systemctl restart networking
  2. 清除 DNS 缓存(如果适用)
  3. 确保 DNS 服务器已更新(如果是网络中的服务器)

最佳实践建议

  1. 命名规范

    • 使用有意义的名称,如 "web-prod-01"、"db-backup-02"
    • 避免使用特殊字符和下划线
    • 保持一致性,特别是在服务器集群中
  2. 多主机名环境

    • 使用静态主机名作为主要标识
    • 使用漂亮主机名提供人类可读的描述
    • 通过 /etc/hosts 为重要服务器添加别名
  3. 自动化管理

    • 在云环境中,可以使用 cloud-init 自动设置主机名
    • 通过配置管理工具(如 Ansible)批量管理主机名
  4. 文档记录

    • 维护主机名与服务器角色的对应文档
    • 在监控系统中使用主机名作为标识

总结

hostname 是 Linux 系统管理中的基础但重要的概念。通过本文,你应该已经掌握了:

  1. 查看和设置不同类型主机名的方法
  2. 永久修改主机名的正确流程
  3. 与主机名相关的常见问题解决方案
  4. 主机名管理的最佳实践

记住,在修改生产环境的主机名前,务必评估可能的影响,特别是在集群环境中,主机名的变更可能会影响服务发现和监控系统。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1050

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

86

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

458

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1352

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号