1、查看主机名

#hostname

2、修改主机名

对于CentOS6

方法一:
# hostname NEW_NAME   
<这种方法只对当前系统有效,重启后无效>

方法二:
# vim /etc/sysconfig/network   
 HOSTNAME=<HOSTNAME>
  <这种方法设置不会立即有效,但是会永久有效>
注意:有的人说还需要修改/etc/hosts文件里面的 "localhost.localdomain --> NEW_NAME" ,我觉得最好两个都修改了^_^。
个人见解:网上有很多朋友说直接修改/etc/hosts文件就可以,但系统本身用到主机名的地方不会变化,所以我觉得 /etc/hosts 是网络中用的,/etc/sysconfig/network是本机起作用;

补充内容:/etc/hostas   ——> 配置主机名称(域名信息)和IP地址对应关系【其实也就是本地配置域名和IP地址的转换关系】


方法三:
使用:#setup    <dns> 
<设置修改主机名,永久生效,命令行不生效>

想要当前显示有效和系统永久有效的方法是:使用方法一和方法二一起修改(把当前系统主机名和配置文件一起修改)。

 

对于CentOS7

方法一:
# hostname NEW_NAME   
<这种方法只对当前系统有效,重启后无效>

方法二:
# hostnamectl  set-hostname NEW_NAME:设定主机名,永久有效

方法三:
# vim /etc/hostname    修改配置文件,永久有效,
  <注意事项:一旦使用了该方法修改主机名 /etc/hostname 将被自动更新。然而 /etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新 /etc/hosts 之后再重启CentOS7。否则系统再启动时会很慢>

3、修改脚本示例:

#!/bin/bash
# auther Mr.li
# date: 2018-07-12

if [ "$1" = "$(hostname)" ];then
       hostname $2    # 临时修改主机名称
   sed -i.bak "s/$1/$2/g" /etc/sysconfig/network  # 修改 /etc/sysconfig/network 里面的主机名

   sed -i.bak "s/$1/$2/g" /etc/hosts   # 修改 /etc/hosts 里面的主机名,目的是使得修改之后的主机名和IP地址的对应,这样DNS解析的时候才不会出错 
fi