hostname命令,修改主机名及host文件

Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。早期版本这个命令属于net-tool工具的一部分,现在由hostname程序完全提供。

-----------------------------------
hostname
-----------------------------------
cat /proc/sys/kernel/hostname
-----------------------------------
上面两种输出结果相同。

修改运行时Linux系统的hostname,即不需要重启系统,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件


一、命令格式:

hostname [参数]
参数:
-h   显示帮助文档

-V   显示命令版本

-v   显示详细执行过程

-a   显示主机别名

-d   显示主机dns域名

-F   file 从文件读取  

-f   显示完全格式的域名

-A   显示机器的全部FQDNs

-i   显示指定主机的ip地址

-I   显示主机所有的地址

-s   以短格式显示,仅显示从第一个点分开的部分

-y   显示nis域名


二、举例

1.临时修改:
-----------------------------------
hostname newhostname
-----------------------------------

2.永久修改,通过配置文件修改,系统重启后生效:
-----------------------------------
vi /etc/sysconfig/network     #CentOS系列发行版的配置文件,

NETWORKING=yes

HOSTNAME=hostname     #在这修改把hostname的内容给成你的新主机名即可
-----------------------------------
vi /etc/hostname          #Debian系列发行版配置文件
hostname            #在这修改把hostname的内容给成你的新主机名即可
-----------------------------------
vi /etc/HOSTNAME       #SUSE系列发行版配置文件
hostname            #在这修改把hostname的内容给成你的新主机名即可
-----------------------------------

3、设置FQDN
FQDN是Fully Qualified Domain Name的缩写, 含义是完整的域名. 例如, 一台机器主机名(hostname)是www, 域后缀(domain)是example.com, 那么该主机的FQDN应该是 www.example.com.另外, 其实FQDN最后是以”.”来结尾的, 但是大部分的应用和服务器都允许忽略最后这个点。
Linux允许用户通过hostname命令查看并设置主机名。 用户也可以通过hostname -f命令得到该主机的FQDN. 但是, 却没有直接设置FQDN的命令,可以通过 /etc/hostname + /etc/hosts组合进行设置

编辑 /etc/hosts,增加一行
--------------------------------------------------
172.0.0.1 hostname.example.com hostname        #172.0.0.1为主机的ip地址,hostnamew为上面设置的主机名,example.com域名
--------------------------------------------------
退出ssh,再登陆,就应该生效。上面的方法Debian,SUSE,CentOS系列都适用

4、查看主机名
-----------------------------------
[root@CentOS ~]# hostname
CentOS
-----------------------------------

5、查看主机FQDN
-----------------------------------
[root@CentOS ~]# hostname -f
CentOS.example.com
-----------------------------------


三、host文件
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。Debian,SUSE,CentOS系列都适用

Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录

127.0.0.1 localhost.localdomain localhost

hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选。

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。比如我的eth0的IP是192.168.1.61,我将hosts文件修改如下:
 
-----------------------------------
vi /etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.1.61 CentOS.example.com CentOS
-----------------------------------
这样,我就可以通过CentOS或者CentOS.example.com来访问本机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值