0043. shell命令--hostname

目录

43. shell命令--hostname

功能说明

hostname

hostnamectl

语法格式

hostname

hostnamectl

选项说明

hostname

hostnamectl

实践操作

hostname

hostnamectl

注意事项


43. shell命令--hostname

功能说明

hostname

        hostname 命令在 Linux 系统中用于显示或设置系统的主机名。主机名是一个系统在网络上的标识,可以是域名的一部分,也可以是简单的标签。hostname 命令的使用非常简单,但它提供了几个不同的选项来满足不同的需求。

        hostname 命令的功能是用于显示和设置系统的主机名,Linux 系统中的 HOSTNAME环 境变量对应保存了当前的主机名称,使用 hostname 命令能够查看和设置此环境变量的值,而要想永久修改主机名称则需要使用 hostnamectl 命令或直接编辑配置文件 /etc/hostname 才行。

        hostname命令:用于显示和设置系统的主机名称。

  • 环境变量 HOSTNAME 也保存了当前的主机名。
  • 在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重启之后还是原来的主机名。如果需要永久修改主机名,需要修改 /etc/hosts 和 /etc/sysconfig/network 的相关内容并进行重启;也可以使用 hostnamectl 命令进行永久修改。

hostnamectl

        hostnamectl 命令是 Linux 系统中用于查询和更改系统主机名及相关配置的实用工具。它通常与 systemd 一起使用,特别是在那些使用 systemd 作为初始化系统(init system)的 Linux 发行版中,如 Fedora、CentOS 7 及以上版本、Ubuntu 15.04 及以上版本(使用 systemd 作为默认 init system 的版本)等。

语法格式

hostname

hostname [-b] -a, --alias               显示主机别名
-A, --all-fqdns           显示所有FQDN名称
-b, --boot                如果没有可用的主机名,则设置默认主机名
-d, --domain              显示DNS域名
-f, --fqdn, --long        显示FQDN名称
-F, --file                从给定文件中读取主机名或NIS域名
-i, --ip-address          显示主机的ip地址
-I, --all-ip-addresses    显示主机所有的ip地址
-s, --short               显示短主机名称,在第一个点处截断
-y, --yp, --nis           显示NIS域名
{hostname|-F file}           设置主机名称(或从文件获取)
hostname [-a|-A|-d|-f|-i|-I|-s|-y]         显示格式化的名称
hostname                                   显示主机名称

{yp,nis,}domainname {nisdomain|-F file}    设置 NIS 主机名称(或从文件获取)
{yp,nis,}domainname                        显示 NIS 主机名称

dnsdomainname                              显示 DNS 主机名称

hostname -V|--version|-h|--help            打印信息并退出


SYNOPSIS
       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]

       domainname [nisdomain] [-F file]
       ypdomainname [nisdomain] [-F file]
       nisdomainname [nisdomain] [-F file]

       dnsdomainname            

hostnamectl

hostnamectl [选项...] 指令 ...

选项说明

hostname

-a, --alias               显示主机别名
-A, --all-fqdns           显示所有FQDN名称
-b, --boot                如果没有可用的主机名,则设置默认主机名
-d, --domain              显示DNS域名
-f, --fqdn, --long        显示FQDN名称
-F, --file                从给定文件中读取主机名或NIS域名
-i, --ip-address          显示主机的ip地址
-I, --all-ip-addresses    显示主机所有的ip地址
-s, --short               显示短主机名称,在第一个点处截断
-y, --yp, --nis           显示NIS域名

hostnamectl

指令

status                 显示当前主机名设置
set-hostname NAME      设置系统主机名
set-icon-name NAME     设置主机的图标名称
set-chassis NAME       设置主机的机箱类型 
set-deployment NAME    设置主机的部署环境 
set-location NAME      设置主机位置
set-pretty-name        设置或查看 Pretty 主机名

选项

-h --help               显示此帮助
    --version           显示包的版本
    --no-ask-password   不提示输入密码
-H --host=[USER@]HOST   在远程主机上操作
-M --machine=CONTAINER  在本地容器上执行操作。指定要连接到的容器名称。
--transient, --static, --pretty  
                        如果调用了status(或者没有给出显式命令)并且指定了其中一个开关,hostnamectl将只打印出这个选定的主机名。

实践操作

hostname

1. 显示当前主机名
#如果不带任何选项或参数,hostname 命令将显示当前系统的主机名。
hostname

2. 设置临时主机名
#注意,直接使用 hostname 命令后跟新的主机名会临时更改主机名,这种更改在重启后不会保留
cat /etc/hostname
hostname www.baidu.com
hostname
cat /etc/hostname
#不会更改 /etc/hostname 文件(该文件通常包含永久主机名),也不会影响重启后的设置

3. 显示系统的域名部分
# -d 这个选项试图通过查找主机名中的第一个点(.)来分离主机名和域名。
hostname -d 
ping www.baidu.com
hostname www.MineGi.com
hostname -d 

4. 显示系统的完全限定域名(FQDN)
#这通常是主机名和域名的组合,例如 myhostname.example.com。
hostname -f

5. 显示与主机名关联的网络接口的 IP 地址
hostname -i    #这个选项并不是所有版本的 hostname 命令都支持
hostname -I    #使用 hostname -I(注意是大写的 I)来获取所有配置的 IP 地址

6. 显示主机名的短格式,即去掉任何可能的域名部分
hostname -s

hostnamectl

1. 显示主机名设置
#这个命令将显示系统的当前主机名、静态主机名(如果设置的话)、瞬态主机名
#(如果和静态不同的话)、内核信息、操作系统版本以及架构等信息。
hostnamectl status
hostnamectl    #简写

2. 永久修改主机名(不用重启)
cat /etc/redhat-release    #查看系统发行版本
cat /etc/hostname
hostnamectl set-hostname CentOS7.9    #永久设置主机名
cat /etc/hostname
hostname
echo MineGi >/etc/hostname    #也可以直接修改配置文件,永久修改
cat /etc/hostname
hostname    #重启后生效

注意事项

  • 永久改变主机名

        要永久改变主机名,你需要编辑 /etc/hostname 文件(在大多数基于 Debian 的系统中)或使用系统的特定工具(如在基于 Red Hat 的系统中使用 hostnamectl 命令)。

  • /etc/hosts

        文件:在更改主机名时,你可能还需要更新 /etc/hosts 文件,确保系统能够正确解析自己的主机名。这个文件通常包含 IP 地址到主机名的映射,包括 127.0.0.1 到 localhost 和新主机名的映射。

  • hostnamectl

        命令:在一些系统上(如 Fedora、CentOS 7 及以上版本),hostnamectl 命令提供了更全面的方式来管理主机名和相关的系统设置。它允许你设置静态和瞬态主机名,以及配置网络域名等信息。

  • 在更改主机名后,可能需要重新启动网络服务(如 NetworkManager)或完全重启系统来使更改生效。
  • 在某些情况下,特别是当使用基于云的服务或虚拟机时,更改主机名可能会受到管理平台的限制。
  • 使用 hostnamectl 更改的主机名设置是全局性的,会影响整个系统。

hostnamectl 是一个非常强大的工具,允许系统管理员轻松管理和查询系统的重要配置信息,包括主机名。然而,由于它的操作涉及系统的核心设置,因此建议在进行更改之前确保已经充分了解命令的影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值