linux命令之hostname


hostname 用于显示和设置系统的主机名称,环境变量HOSTNAME也保存了当前的主机名在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hostsFedora/etc/sysconfig/network,或者Ubuntu/etc/hostname的相关内容


首先先看看基本的帮助配置项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Usage: hostname [-b] {hostname|-F file}         set host name (from file)
hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name
hostname display host name

{yp,nis,}domainname {nisdomain|-F file} set NIS domain name (from file)
{yp,nis,}domainname display NIS domain name

dnsdomainname display dns domain name

hostname -V|--version|-h|--help print info and exit

Program name:
{yp,nis,}domainname=hostname -y
dnsdomainname=hostname -d

Program options:
-a, --alias alias names
-A, --all-fqdns all long host names (FQDNs)
-b, --boot set default hostname if none available
-d, --domain DNS domain name
-f, --fqdn, --long long host name (FQDN)
-F, --file read host name or NIS domain name from given file
-i, --ip-address addresses for the host name
-I, --all-ip-addresses all addresses for the host
-s, --short short host name
-y, --yp, --nis NIS/YP domain name

Description:
This command can get or set the host name or the NIS domain name. You can
also get the DNS domain or the FQDN (fully qualified domain name).
Unless you are using bind or NIS for host lookups you can change the
FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
part of the FQDN) in the /etc/hosts file.

语法

hostname (选项) (参数)

选项

1
2
3
4
-a: 显示主机别名
-i: 显示主机名称对应的IP地址
-I: 显示主机对应的所有IP地址
-f: 从给定的文件中获取主机名

参数

主机名:需要设置的主机名

实例

  1. hostname 查看主机名
    [jwj@iZwz98uofb7lyzkjfkky3oZ ~]$ hostname //iZwz98uofb7lyzkjfkky3oZ
  2. 临时修改主机名
    [jwj@iZwz98uofb7lyzkjfkky3oZ ~]$ hostname helloworld
    [jwj@helloworld ~]$ hostname //helloworld

这种方式只是临时修改主机名,系统重启后就恢复到之前主机名

  1. 永久修改主机名
    对于Ubuntu来说,主机名存放在/etc/hostname文件中,直接修改重启就生效了

特别说明:

  • hostname的实际配置文件为: /etc/hostname 对于Ubuntu

  • hostnamelinux系统下的一个内核参数,保存在/proc/sts/kernel/hostname下,但是这个值是linux启动时从rc.sysinit中读取的,rc.sysinit依赖/etc/hostname文件的内容

  • 对于/etc/hosts,内容为主机名与IP的对应关系。文件的作用:相当于DNS域名解析,Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录.

    1
    2
    3
    127.0.0.1 localhost
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.18.187.237 iZwz98uofb7lyzkjfkky3oZ
    1
    2
    3
    4
    5
    6
    7
    8
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    10.169.94.190 iZ949r9sg4gZ
    127.0.0.1 localhost
    172.18.177.3 iZwz93nasoxqpro57y8nmtZ

    对于内容的解释,分为三部分或两部分:

    1. 网络ip地址
    2. 主机名或域名或主机名.域名(该部分可以没有)
    3. 主机名(或别名)

alt
扫描关注,查看更多文章,提高编程能力