Linux 更改主机名

17 Mar 2025 | 6 分钟阅读

在讨论如何更改系统主机名之前,我们需要了解主机名的含义。在这里,我们将简要介绍主机名。

什么是主机名?

当我们访问任何网站时,我们会在浏览器中输入该网站的 URL。URL 由一些我们能理解的常规单词组成,例如“JavaTpoint.com”。DNS 服务器将该名称与服务器的 IP 地址关联起来。由于 IP 地址而存在的这个系统有点困难,没有人会去记它。主机名的工作方式类似,只是在本地网络上。

如果为我们的计算机提供一个主机名,它是一个我们能理解的常规单词,我们可以在网络上轻松输入以识别该计算机。类似于 URL,我们可以用主机名替换我们通常会使用 IP 地址的地方。

这包括浏览各种本地网页和使用 SSH。除非我们使用任何本地 DNS 服务器,否则需要一些设置才能使其顺利运行。

查看我们的主机名

查看主机名非常简单。要做到这一点,我们需要按照以下步骤操作

  1. 打开终端。
  2. 只需输入一个命令,即 hostname
Linux Change Hostname

此命令将在终端窗口内显示我们计算机的当前主机名。

hostname 命令的选项

hostname 命令有许多可用的选项,用于不同的目的。下面将提及并讨论其中一些选项

1. -a: 用于获取主机名的别名(如果有)。如果未设置别名,此选项将返回一个空行。它还会列出每个网络接口上的每个已配置地址。我们可以使用 --alias-a 选项来显示已设置的主机的别名(也称为 替代主机名)。在某些情况下,别名选项可能很有用,但其使用已不再推荐。

语法

命令如下所示

或者,

输出将如下所示:

Linux Change Hostname

2. -A: 用于获取主机名的每个 FQDN完全限定域名)。此选项列出每个网络接口上的每个已配置地址。输出可能会重复显示相同的条目。

语法

输出将如下所示:

Linux Change Hostname

3. -b: 用于始终设置主机名。如果未定义,则使用默认主机名。

语法

输出将如下所示:

Linux Change Hostname

4. -d: 用于获取 域名(如果已设置本地域名)。如果未设置本地域名,此选项将不返回任何内容(甚至不返回空行)。

语法

输出将如下所示:

Linux Change Hostname

5. -f: 用于获取 FQDN。此选项包括 DNS 域名和短主机名。

语法

输出将如下所示:

Linux Change Hostname

6. -F: 用于设置文件中定义的主机名。此选项只能由 root 用户(超级用户)执行。我们可以使用 --file-F 选项来搜索特定文件(例如 hostshostname),并修改我们计算机的主机名以匹配文件内容。

语法

命令如下所示

或者,

输出将如下所示:

Linux Change Hostname

注意:在使用 --file 或 -F 选项时,我们还需要指定要检查的文件路径。

7. -i: 用于获取网络(IP)地址。仅当主机名可解析时才有效。

语法

输出将如下所示:

Linux Change Hostname

8. -I: 用于获取每个网络(IP)地址。它不依赖于主机名的可解析性。

语法

输出将如下所示:

Linux Change Hostname

9. -s: 用于获取(短)主机名。短主机名可以定义为主机名中第一个 点 (.) 之前的部分。如果主机名不包含点,则会显示完整的主机名。我们可以使用 --short-s 选项来显示主机名的短版本。它会在第一个点处截断。

命令如下所示

语法

或者,

输出将如下所示:

Linux Change Hostname

10. -V: 此选项输出版本号。

语法

输出将如下所示:

Linux Change Hostname

11. --help, -h: 用于显示帮助消息。

语法

输出将如下所示:

Linux Change Hostname

12. --nis, --yp, -y: 此选项用于显示 NIS 的域名。

语法

输出将如下所示:

Linux Change Hostname

如何更改主机名

以下是我们在 Linux 中更改计算机名称的一些步骤。我们需要遵循这些简单的步骤来更改我们系统的“主机名”或计算机名称。这些步骤如下

1. 我们可以输入以下命令,使用 vinano 文本编辑器编辑 /etc/hostname 文件


Linux Change Hostname
Linux Change Hostname

删除以前的主机名并输入新的主机名。

2. 第一步之后,通过输入以下命令编辑 /etc/hosts 文件


Linux Change Hostname

删除现有的计算机名称条目,并替换为我们的新名称。

3. 输入下面提到的命令以查看更改


Linux Change Hostname

设置我们的主机名

可能我们在安装操作系统时设置了计算机的主机名,但我们可以随时修改它。设置 Linux 计算机主机名有多种不同的方法。很大程度上,systemd 简化了这个过程。

Systemd

我们可以在运行 systemd 的系统上执行以下命令来更改我们计算机的主机名。

命令如下所示


Linux Change Hostname

Systemd 会负责为我们重置所有内容。

老式技术

最传统和通用的技术之一是更改两个文件然后重启我们的计算机。第一个文件被称为 “hostname”。这是一个纯文本文件,里面只有一个单词。系统会读取这个单词并将其设置为我们的主机名。因此,输入我们想要的任何内容以将其设为我们系统的“主机名”。该文件位于 “/etc/hostname” 文件。

第二个文件被称为 “hosts” 文件。它告诉我们的系统将哪个主机名与 IP 地址关联。我们需要指定它以将我们的主机名与本地计算机关联起来。该文件位于 “/etc/hosts” 文件。找到它后,我们需要打开它。

我们需要关注两行,它们看起来应该如下

我们只需要修改包含我们当前主机名的第二行。完成后,保存、退出并重启我们的计算机。

什么是 Hosts 文件?

此文件有点像极简化的 DNS 服务器。它是一个文件,允许我们的计算机将网络上的主机名与 IP 地址匹配。我们可以在 “/etc/hosts” 找到该文件。找到它后,打开它。

此文件分为两部分。上半部分管理我们熟悉的 IPv4 地址,下半部分是 IPv6。当我们遵循传统技术时,我们在上半部分设置了主机名。

要添加我们网络上其他设备的“主机名”,我们需要在我们计算机的两行下方为它们创建新行,并遵循类似的格式。

首先,添加设备的本地 IP。然后,提供其主机名。

完成后,重启我们计算机上的网络。这应该和重启网络服务一样简单。

重启网络的命令如下所示

我们现在可以通过其主机名访问我们的新条目。

我们也应该尝试通过 SSH 登录。命令如下