hostname

      hostname指令用于设置或者显示系统主机名,没有任何参数就会返回gethostname()函数的返回值。使用hostname指令之后,主机名会立马被修改,但是重启系统之后就失效了。可以修改配置文件/etc/sysconfig/network,使主机名永久有效。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、语法

      hostname [选项]

 

2、选项列表


选项



说明



-h | --help



显示帮助文档



-V | --version



显示命令版本



-v



显示详细执行过程



-a | --alias



显示主机别名



-d | --domain



显示主机dns域名



-F file



从文件读取



-f | --fqdn | --long



显示完全格式的域名



-A | --all-fqdns



显示机器的全部FQDNs



-i | --ip-address



显示指定主机的ip地址



-I | --all-ip-address



显示主机所有的地址



-s | --short



以短格式显示,仅显示从第一个点分开的部分



-y | --yp | --nis



显示nis域名


 

3、FQDN

      不能用此命令更改FQDN(由hostname-fqdn返回)或DNS域名(由dnsdomainname返回)。系统的FQDN是resolver为主机名返回的名称。技术上:FQDN是由gethostname(2)返回的主机名。DNS域名是第一个点之后的部分。因此,如何更改取决于配置文件(通常在“/etc/host.conf”中)。通常(如果在DNS或NIS之前解析主机文件),您可以在“/etc/host”中更改它。

      如果一台机器有多个网络接口/地址,或者在移动环境中使用,那么它可能有多个FQDN/域名,或者根本没有。因此,避免使用“hostname -fqdn”、“hostname  --domain”和“dnsdomainname”。“hostname --ip-address”地址也受到同样的限制,因此也应该避免。

 

4、实例

1)显示主机名


​[root@localhost ~]# hostname             //​​显示完整名字

​localhost.localdomain​

​[root@localhost ~]#hostname –s         //​​显示短格式名字

​localhost        ​

​[root@localhost ~]# hostname –a         //​​显示主机别名

​localhost.localdomain localhost4 localhost4.localdomain4 localhost.localdomain localhost6 localhost6.localdomain6​


2)显示主机ip


​[root@localhost ~]# hostname -i​

​127.0.0.1 127.0.0.1​