Linux

命令 hostname 用于显示或者设置系统主机名称

2020-09-29 11:05:24 卿卿 7

在Linux系统中,命令 hostname 用于显示或者设置系统主机名称。许多网络程序均用主机名来标识主机,若没有设置好主机名,则可能会导致网络服务不正常。

语法:

hostname [选择]

参数:

  • -a 如果设置了主机别名,则可以用a来显示主机别名

  • -i 显示主机IP地址,这个参数需要依赖DNS解析,比较慢,推荐使用下面的I参数

  • -I 显示主机的所有IP地址,不依赖DNS解析,速度快

  • -s 显示短格式主机名

案例:

[root@VM_0_5_centos ~]# hostname       # 不带参数   
VM_0_5_centos
[root@VM_0_5_centos ~]#

临时修改主机名 【重启系统后,临时主机名将失效】

[root@VM_0_5_centos ~]# hostname       # 不带参数   
VM_0_5_centos
[root@VM_0_5_centos ~]# hostname test      # 临时将主机名修改为 test  
[root@VM_0_5_centos ~]# logout        # 退出

# 需重新登录  
[root@test ~]# hostname
test
[root@test ~]#

永久修改系统主机名

[root@test ~]# vi /etc/sysconfig/network


【注:】CentOS7中,主机名配置文件换成了/etc/hostname,修改/etc/sysconfig/network不会生效,需要修改/etc/hostname

[root@test ~]# cat /etc/hostname     # 此处只是查看当前主机名,修改即可更换vi /etc/hostname
VM_0_5_centos
[root@test ~]#

Tips:

只需一条命令即可永久修改主机名,且不需要重新登录或重启

hostnamectl set-hostname xxxxxx # xxxxx为要设置的主机名
[root@test ~]# hostname
test
[root@test ~]# hostnamectl set-hostname other
[root@test ~]# hostname
other
[root@test ~]# hostnamectl set-hostname qingqing
[root@test ~]# hostname
qingqing
[root@test ~]#

显示主机的别名

[root@test ~]# hostname -a
                        # <----- 这里我的主机没有别名,所以为空
[root@test ~]#

获取系统的IP地址

[root@test ~]# hostname -i
fe80::5054:ff:fe6f:9e33%eth0 172.17.0.5 172.18.0.1
[root@test ~]# hostname -I    # 推荐使用-I获取IP地址
172.17.0.5 172.18.0.1
[root@test ~]#