Linux命令之hostname - 显示或设置主机名
我使用过的Linux命令之hostname - 显示或设置主机名
本文链接:http://codingstandards.iteye.com/blog/804648 (转载请注明出处)
用途说明
hostname命令可以用来显示或者设置主机名(show or set the system’s host name)。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。某些依赖于系统主机名的软件,在修改主机名之后可能会出现问题,比如为mysql配置了同步复制时,修改主机名前最好先停止其运行(经验之谈,本人就因此折腾了很久)。
常用参数
不带参数时显示主机名。
格式:hostname
带上-i参数时显示ip地址。
格式:hostname -i
带上-f参数时显示全域名(FQDN,Fully Qualified Domain Name)。
格式:hostname -f
修改主机名时,后面跟上新的主机名即可。(注意此方法立即生效,但不会永久保存,详见后面的示例)。
格式:hostname newhostname
使用示例
示例一 显示主机名
[root@jfht ~]# hostname
jfht
[root@jfht ~]# echo $HOSTNAME
jfht
[root@jfht ~]# grep jfht /etc/hosts
127.0.0.1 jfht localhost.localdomain localhost
注:这台机器的hosts设置有些问题的,应该另开一行设置ip fqdn hostname,比如192.168.1.191 jfht.xyz.com jfht。
[root@jfht ~]# hostname -i
127.0.0.1 <== 由于/etc/hosts文件设置不够合理,所以显示回环地址(loopback 127.0.0.1) 。
[root@jfht ~]# hostname -f
jfht <== 由于/etc/hosts文件中没有设置FQDN,所以无法显示fqdn。
[root@jfht ~]# grep jfht /etc/sysconfig/network
HOSTNAME=jfht
[root@jfht ~]# cat /proc/sys/kernel/hostname
jfht
[root@jfht ~]#
示例二 修改主机名
现在演示一下将原来的主机名rhel55改成new55,并增加FQDN设置。
[root@rhel55 ~]# hostname
rhel55
[root@rhel55 ~]# hostname -i
127.0.0.1
[root@rhel55 ~]# hostname -f
rhel55
[root@rhel55 ~]# hostname new55
[root@rhel55 ~]# echo $HOSTNAME
rhel55
[root@rhel55 ~]# hostname
new55
[root@rhel55 ~]# vi /etc/hosts
打开/etc/hosts,将
127.0.0.1 rhel55 localhost.localdomain localhost
改为
127.0.0.1 localhost.localdomain localhost
并增加一行
192.168.6.55 new55.somedomain.com new55
[root@rhel55 ~]# vi /etc/sysconfig/network
将
HOSTNAME=rhel55
改成
HOSTNAME=new55
现在退出当前shell重新登录看看。
[root@rhel55 ~]# exit
logout
Last login: Sat Nov 6 17:00:08 2010 from 192.168.6.106
[root@new55 ~]# echo $HOSTNAME
new55
[root@new55 ~]# hostname
new55
[root@new55 ~]# hostname -i
192.168.6.55
[root@new55 ~]# hostname -f
new55.somedomain.com
[root@new55 ~]#
重启一下Linux,然后再登录,可以看到主机名修改生效了。
[root@new55 ~]# reboot
Last login: Sat Nov 6 17:10:08 2010 from 192.168.6.106
[root@new55 ~]# echo $HOSTNAME
new55
[root@new55 ~]# hostname
new55
[root@new55 ~]# hostname -i
192.168.6.55
[root@new55 ~]# hostname -f
new55.somedomain.com
[root@new55 ~]#
在此,总结一下修改主机名的方法:
1. 停止与主机名相关的软件运行,比如mysql。
2. 先使用 hostname newname 设置主机名。
3. 在/etc/hosts中修改或增加 ip fqdn newname 行,并检查原来127.0.0.1行的设置。
4. 在/etc/sysconfig/network中修改HOSTNAME=newname。
5. 重新启动机器并确认是否修改成功。
问题思考
相关资料
【1】cnblogs [Linux.Bash] 几个关于host name的配置文件和命令
【2】互动百科 FQDN
【3】百度空间 linux如何修改hostname(zz)
【4】LinuxSir.Org Linux操作系统主机名(hostname)简说(v0.1b)
【5】ChinaUnix 怎样修改Linux的hostname
【6】robinwu的日志 Redhat Linux 修改主机名(HOSTNAME)
Linux命令之hostname - 显示或设置主机名的更多相关文章
- 如何在Linux中显示和设置主机名
原文链接 随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机.和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性. 什么是hostname 从它的 ...
- 如何在Linux中显示和设置主机名(适用ubantu、centos等版本)
随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机.和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性. 什么是hostname 从它的操作手册来 ...
- hostname - 显示或设置系统的主机名
NAME(名称) hostname - 显示或设置系统的主机名 domainname - 显示或设置系统的NIS/YP域名 dnsdomainname - 显示系统的DNS域名 nisdomainna ...
- Linux CentOS下shell显示-bash-4.1$ 不显示用户名和主机名的解决方法
CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是-bash-4.1$,如图所示: 而不是我们经常看到的username@hostname$的组合,看起 ...
- linux查看与设置主机名
1.设置主机名 通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名.如下所示: [root@zijuan /]# vim /etc/sysc ...
- linux 查看和设置主机名
1.设置主机名 通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名.如下所示: [root@zijuan /]# vim /etc/sysconfig/n ...
- Linux设置主机名与hosts映射
目的 方便操作,便于建立Linux集群. 设置主机名 查看主机名:hostname 设置主机名,修改/etc/hosts:vim /etc/hostname 通过主机名ping通 原理 通过hosts ...
- 用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
用户管理: 添加用户:useradd tom 设置密码:passwd tom 切换账户: su - tom (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录 2.会切换到该用户 ...
- 关闭防火墙和设置主机名和ip及克隆机网卡处理方法
关闭防火墙: service NetworkManager stop --图形化用ifconfig之前先关掉网络服务. chkconfig NetworkManager off (将开机自启动关掉,使 ...
随机推荐
- 【javascript基础】函数前面的一元操作符
在函数前面加:+ ; ~ ! - 等等一元操作符,javascript 引擎都会将后面的statement转换成表达式(expression),这样就可以调用了.
- Appium 测试APK
介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json w ...
- Python程序员不完全指南
Python 基础 Python基础 基础数据类型 深浅copy 文件操作 函数 初识函数 函数进阶 装饰器函数 迭代器和生成器 各种推导式 递归函数 内置函数和匿名函数 异常处理 常用模块 模块和包 ...
- Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析
Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936 XEN 与 VMware ESXi,Hyper-V 以及 K ...
- 转-redux-saga
React+Redux Cycle(来源:https://www.youtube.com/watch?v=1QI-UE3-0PU) 让我惊讶的是,redux-saga 的作者竟然是一名金融出身的在 ...
- linux下awk内置函数的使用(split/substr/length)
一.split 初始化和类型强制 awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中.你可以自己定义域分隔符或者使用现在FS(域分隔符)的值.格式: split (strin ...
- learn go defer
package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.4.md im ...
- MySQL开放外部链接
问题 指令空格 执行命令netstat -nat | grep :3306的时候,注意grep后一定要有空格!!! 该指令的功能为:让服务器接受远程连接.不过这样只能用于本地连接. 真正外部链接详见 ...
- 【剑指offer】求1+2+…+n,C++实现
原创博文,转载请注明出处! # 题目 # 思路 使用递归计算累加,利用逻辑与的短路特性终止递归.逻辑与的短路特性 : A&&B,A>0时,执行B:A=0时,不执行B. # 代码 ...
- 【剑指offer】不使用新变量,交换两个变量的值,C++实现
# 题目 不使用新变量,交换两个变量的值. # 思路 方法一:使用加减法操作,交换两个变量的值. A = A+B B = A-B A = A-B 方法二:使用异或运算,交换两个变量的值 A = A^B ...