Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux hostname 命令。

1、命令简介

hostname:用于显示或设置系统的主机名。主机名是用来标识网络中的计算机的名称,它可以是一个单词、一个短语或者一个字符串。

2、命令语法

hostname [-a|--alias] [-d|--domain] [-f|--fqdn|--long] [-A|--all-fqdns] [-i|--ip-address]
[-I|--all-ip-addresses] [-s|--short] [-y|--yp|--nis]
hostname [-b|--boot] [-F|--file filename] [hostname]
hostname [-h|--help] [-V|--version]

3、命令描述

hostname用于显示系统的DNS名称,并显示或设置其主机名或NIS域名。

获取名称:在没有任何参数的情况下调用该程序会显示当前的名称:hostname会打印系统的名称,该名称由gethostname(2)函数返回。

设置名称:当使用一个参数或使用--file选项调用时,命令会设置主机名或NIS/YP域名。hostname使用sethostname(2)函数,而domainname、ypdomainname和nisdomainname都使用setdomainname(2)。请注意,这仅在下次重启之前有效。要进行永久更改,请编辑/etc/hostname

注意:只有超级用户可以更改名称。

使用dnsdomainname命令无法设置FQDN或DNS域名(请参见下文的FQDN)。

通常在系统启动时会设置主机名,这在/etc/init.d/hostname.sh中完成(通常通过读取包含主机名的文件的内容,例如/etc/hostname)。

4、命令选项

选项

描述

-a, --alias

显示主机的别名(如果使用)。

此选项已被弃用,不应再使用。

-A, --all-fqdns

显示机器的所有FQDN(完全限定域名)。

此选项枚举所有已配置的网络接口上的所有已配置的网络地址,

并将其转换为DNS域名。

无法转换的地址

(即因为它们没有适当的反向IP条目)将被跳过。请注意,不同的地址可能解析为同一名称,

因此输出可能包含重复的条目。

请不要对输出的顺序做任何假设。

-b, --boot

始终设置主机名;

这允许-F指定的文件不存在或为空,

在这种情况下,如果尚未设置主机名,

则将使用默认的主机名localhost。

-d, --domain

显示DNS域名的名称。不要使用

domainname

命令获取DNS域名,

因为它将显示NIS域名而不是DNS域名。

请改用

dnsdomainname

。请参阅上面的FQDN部分中的警告,

并避免使用此选项。

-f, --fqdn, --long

显示FQDN(完全限定域名)。

FQDN由短主机名和DNS域名组成。

除非您正在使用bind或NIS进行主机查找,

否则可以在/etc/hosts文件中更改FQDN和DNS域名(这是FQDN的一部分)。

请参阅上面的FQDN部分中的警告,

并在可能的情况下改用

hostname --all-fqdns

-F, --file filename

从指定的文件中读取主机名。注释(以

#

开头的行)将被忽略。

-i, --ip-address

显示主机名的网络地址。

请注意,这仅在可以解析主机名时才有效。

请避免使用此选项;改用

hostname --all-ip-addresses

-I, --all-ip-addresses

显示主机的所有网络地址。

此选项枚举所有网络接口上的所有配置地址。

省略了环回接口和IPv6链路本地地址。

与选项-i相反,此选项不依赖于名称解析。

请不要对输出的顺序做任何假设。

-s, --short

显示短主机名。这是主机名在第一个点处切割。

-V, --version

在标准输出上打印版本信息并成功退出。

-y, --yp, --nis

显示NIS域名。如果给定参数(或--file name),

则root用户也可以设置新的NIS域名。

-h, --help

打印用法消息并退出。

5、使用示例

1)不带任何选项/参数的hostname命令显示由gethostname(2)函数返回的机器主机名

hostname
kvm1

2)当带有一个参数或使用--file选项调用时,命令将设置主机名或NIS/YP域名。hostname命令使用sethostname(2)函数来设置机器的主机名。请注意,此更改在下次重启之前有效。要使更改永久生效,我们需要编辑/etc/hostname文件。请注意,只有超级用户才能更改主机名。

$ sudo hostname kvm1.cjavapy.com
[sudo] password for levi: 
$ hostname
kvm1.cjavapy.com

3)使用-i选项显示分配给主机的IP地址或网络地址。请注意,这仅在主机名可以解析时有效。避免使用此选项;改用hostname --all-ip-addresses命令来显示主机的网络地址。

$ hostname -i
127.0.1.1
$
$ hostname --all-ip-address
192.168.0.4 

4)使用-I选项显示主机机器的所有网络地址。

$ hostname -I
192.168.0.234 192.168.0.4 

5)使用-s选项显示短主机名。

$ hostname -s
kvm1

6)使用-a选项显示分配给主机的别名,以便进行简单的引用。

$ hostname -a

7)使用-f或--fqdn选项显示主机机器的完全限定域名(FQDN)或长主机名。

$ hostname -f
kvm1.cjavapy.com

8)使用-d选项显示DNS域名的名称。

$ hostname -d
cjavapy.com

推荐文档