当前位置: 首页 > Linux

Linux主机名命令详解

时间:2023-04-06 22:23:23 Linux

1.查看本机hostnamehostname2.修改本机hostnamehostname。newname运行后立即生效(重启shell),但系统重启后修改会丢失。如果要永久更改系统的主机名,就需要修改相关的配置文件。对于RedHat的主机名,修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改为HOSTNAME=NEWNAME,其中NEWNAME是你要设置的主机名。Debian发行版的主机名配置文件是/etc/hostname。修改配置文件后,重启系统会读取配置文件并设置新的主机名。hostname和/etc/hosts的关系很多人一提到修改hostname就会想到修改/etc/hosts文件,认为hostname的配置文件是/etc/hosts。其实并不是。hosts文件的作用很像DNS,提供IP地址和主机名的对应关系。早期上网的电脑很少,一台单机的hosts文件就足以存放所有上网的电脑。但随着互联网的发展,这还远远不够。于是就有了分布式DNS系统。DNS服务器提供类似的IP地址到域名映射。具体来说,你可以manhosts。Linux系统在向DNS服务器发送域名解析请求之前,会查询/etc/hosts文件。如果里面有对应的记录,就会使用hosts中的记录。Linux中与hostname相关的有几个:系统中有HOSTNAME环境变量,命令echo$HOSTNAME会显示hostname(主机名)。还有一个hostname命令:它有几个功能:a)查询主机名:i.hostname//显示主机名的短格式,如localhost;二.hostname-f//显示主机名的长格式,带域名,如:localhost.localdomainiii.hostname–d//显示域名,如localdomainiv>.hostname–I//显示hostnameiv对应的IP地址。hostname–a//显示主机别名(alias),与hostname的输出相同,如localhostv.hostname–s//显示主机名的短格式,即从第一个之前的部分开始左边的逗号,例如逗号前的localhost.localdomain是localhostb)设置主机名:该命令设置的主机名是临时的,系统重启后设置的主机名将丢失。我。hostnamenewname//设置hostname为newname,永久修改hostname。hostname修改的主机名是临时的。如果要永久修改主机名,必须修改相应的配置文件。manhostname中有这样一句话,“主机名通常在系统启动时在/etc/rc.d/rc.inet1或/etc/init.d/boot中设置一次(通常是通过读取一个文件的内容来实现的)包含主机名,例如/etc/hostname)."。在CentOS中并没有这句话说的hostname文件,而是脚本/etc/rc.d/rc.sysinit负责设置系统的hostname,里面写着/文本文件etc/sysconfig/network,hostnameofRedHat是在这个文件中设置的。暂且抛开/etc/sysconfig/network的配置方法,先了解hostname不带参数和hostname-a–d–f,-i的区别:hostname调用gethostname(2)函数,而hostname-a–d–f,-i命令是调用gethostbyname(3)函数;gethostname(2)和gethostbyname(3)的区别在于gethostbyname(3)的网络可见性,所以gethostbyname(3)函数需要询问/etc/nsswitch.conf和/etc/host.conf文件来决定是否从/etc/sysconfig/network配置文件或/etc/hosts配置文件中读取信息。因此配置hostname的配置文件有两个:1./etc/sysconfig/network:没有/etc/hosts的功能,只提供一个hostname。读取/etc/rc.d/rc.sysinit配置方法:用vim打开网络文件,更改HOSTNAME=NEWNAME;使hostname名称改为newname2、/etc/hosts:与网络有关,相当DNS,提供IP地址到主机名对应的配置方法:用vim打开hosts文件,其配置格式为:IPFQDN别名,如192.168.1.1localhost.localdomainlocalhost,其中IP=192.168.1.1,FQDN=localhost.localdomain,alias=localhost注意:确保配置文件network中的hostname与hosts和FQDN的第一部分,否则hostname-a-f-d-i命令将无法正常工作。参考链接:在Linux中检查主机名的3种方法