概述
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
选项,即使是添加也不会生效。