查看当前的主机名

首先我们使用hostname命令来查看当前的主机名。
hostname

hostnamectl

方法1:修改配置文件

主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。

方法2:hostnamectl命令

命令语法为:
sudo hostnamectl set-hostname
这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。

方法3:hostname命令进行临时更改

如果只需要临时更改主机名,可以使用hostname命令。
sudo hostname 12
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。

在linux中修改主机名称是经常使用的,主机名称可以很轻松的识别服务器,centos7系统新增了hostnamectl命令

  1. [root@hostname ~]# hostnamectl -h
  2. -h --help 显示帮助
  3. --version 显示安装包的版本
  4. --transient 修改瞬态主机名
  5. --static 修改静态主机名
  6. --pretty 修改灵活主机名
  7. -P --privileged 在执行之前获得的特权
  8. --no-ask-password 输入密码不提示
  9. -H --host=[USER@]HOST 操作远程主机
  10. Commands:
  11. status 显示当前主机名设置
  12. set-hostname NAME 设置系统主机名
  13. set-icon-name NAME 为主机设置icon
  14. set-chassis NAME 设置主机平台类型名
  15. set-deployment NAME 为主机设置部署环境
  16. set-location NAME 为主机设置位置

hostname有三种状态 transient(瞬态)static(静态) pretty (灵活)

静态主机名也称为内核主机名,是系统在启动时从/etc/hostname内自动初始化的主机名
瞬态主机名是在系统运行时临时分配的主机名
灵活主机名则允许使用特殊字符的主机名

  1. [root@hostname ~]$ hostnamectl --transient set-hostname test
  2. [root@hostname ~]$ hostnamectl --static set-hostname test

如果不加 —static参数,默认设置为静态主机名

  1. [root@hostname ~]#hostnamectl set-hostname test
  2. [root@test ~]# 重新登录后显示

另外hostnamectl命令还可查询内核版本,操作系统等信息

uname -a; cat /etc/issue; cat /etc/redhat-release; hostname 等命令查询的信息更详细。

  1. [root@ceshi ~]# hostnamectl hostnamectl status
  2. Static hostname: ceshi
  3. Icon name: computer-vm
  4. Chassis: vm
  5. Machine ID: a9fddf983511411896b8e583bb052faa
  6. Boot ID: 96e1a92ba9ae4f8a988e7043f61a9f66
  7. Virtualization: kvm
  8. Operating System: CentOS Linux 7 (Core)
  9. CPE OS Name: cpe:/o:centos:centos:7
  10. Kernel: Linux 3.10.0-862.6.3.el7.x86_64
  11. Architecture: x86-64