Linux命令之获取和修改主机名hostname

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之获取和修改主机名hostname相关的知识,希望对你有一定的参考价值。

概述

hostname 命令可以获取当前主机名和临时修改主机名。

语法

该命令的语法如下:

hostname [选项] [参数]

该命令支持的选项有:

选项说明
-a显示主机别名
-d显示DNS域名
-f显示FQDN名称
-i显示主机的ip地址
-s显示短主机名称,在第一个点处截断
-y显示NIS域名

注:hostname 命令选项使用得很少,通常都是查看主机名或者修改主机名。

使用

查看主机名

如果要查看主机名可以直接执行如下命令:

hostname

注:除了通过 hostname 命令查看主机名之外,还可以查看文件来看当前的主机名是:

  • /ect/hostname:该文件在 CentOS 7 及以上的版本才有的文件,该文件配置了主机名。
  • /proc/sys/kernel/hostname:该文件在 CentOS 7 以下的版本也有,都可以使用,该文件也是配置了主机名。

除此之外,环境变量 HOSTNAME 也是主机名。可以通过 echo $HOSTNAME 获取。

临时修改主机名

所谓的临时修改主机名,就是当前系统有效,重启系统后失效变回原主机名。命令格式如下:

# 语法
hostname 新主机名
# 示例,修改新主机名为 centos-8
hostname centos-8


但注意,修改只对当前系统有效,用上面的四种方式查看修改后的主机名。

重启会话后,查看主机名的情况如下:

重启系统后,主机名恢复了原样:

永久修改主机名

在 Linux 系统中如果想要永久修改主机名,那么必须将新主机名写入文件。但需要注意 CentOS 版本的不同所需要的文件是不一样的:

  • 如果是 CentOS 7 以下(不包括 7)的版本,则需要修改 /etc/sysconfig/network 文件。即修改 HOSTNAME=新主机名

  • 如果是 CentOS 7 及以上(包括 7)的版本,则需要修改 /etc/hostname 文件。直接填入新主机名即可。

注:CentOS 7 及以上版本也是有 /etc/sysconfig/network 文件的,但是没有 HOSTNAME 选项,即使是添加也不会生效。

以上是关于Linux命令之获取和修改主机名hostname的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令之hostname - 显示或设置主机名

Linux命令--hostname和uname

Linux命令:hostname

Linux修改主机名命令详解

Linux基础命令---显示主机名hostname

在Linux系统中使用hostname命令修改主机名报错“the specified hostname is invalid“