`

Linux hostname命令详解

 
阅读更多

原文地址:http://blog.csdn.net/qhairen/article/details/45913465

1、查看本机的hostname

#hostname

 

2、修改本机的hostname

#hostname newname


运行后立即生效(重新启动shell),但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的配置置文件。

RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。
Debian发行版的hostname的配置文件是/etc/hostname。
修该配置文件后,重启系统就会读取配置文件设置新的hostname。

hostname与/etc/hosts的关系
很多人人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。
Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。

 

 

Linux中和hostname相关的有几个:
1.       系统中有HOSTNAME环境变量, 用命令echo $HOSTNAME会把hostname (主机名)显示出来
2.       还有一个hostname命令: 它有几个功能:
a)         查询主机名:
                        i.              hostname //显示主机名短格式,比如localhost;
                       ii.              hostname -f //显示主机名的长格式,带域名,比如:localhost.localdomain
                      iii.              hostname –d //显示域名,比如localdomain iv>. hostname –I //显示主机名对应的IP地址
                       iv.              hostname –a //显示主机别名(alias),和hostname的输出结果一样, 比如localhost
                       v.              hostname –s //显示主机名的短格式,也就是从左边第一逗点前面部分,比如                     localhost.localdomain逗点前面就是localhost
b)         设置主机名: 用命令设置的主机名是暂时的,系统重新启动后,设置的主机名就会遗失。
                         i.              hostname newname //设置主机名为newname
3.       永久修改hostname
用hostname修改的hostname是暂时的,如果想永久的修改hostname, 则必须修改相应的配置文件。
 
man hostname里有这么一句话,”The host name is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).”. CentOS中没有这句话举例说的hostname文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,它读取/etc /sysconfig/network这个文本文件,RedHat的hostname就是在这个文件里设置。
 
暂时放下/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的功能只是提供一个主机名
功能介绍: 没有/etc/hosts的功能只是提供一个主机名, 它里面的hostname被/etc/rc.d/rc.sysinit读取
配置方法: 用vim打开network文件,更改HOSTNAME=NEWNAME; 这样hostname名就被改为newname了

2、/etc/hosts:
它和网络相关的,相当于DNS,提供IP地址到hostname的对应
配置方法: 用vim打开hosts文件,它的配置格式是: IP FQDN alias, 比如192.168.1.1 localhost.localdomain localhost,其中IP=192.168.1.1, FQDN=localhost.localdomain, alias=localhost
 
注意: 一定要让配置文件network中的hostname和hosts中的alias以及FQDN的第一部分一致,否则hostname -a -f -d -i命令不能正常工作。
 
令:遇到问题,在debian系统中更改/etc/hosts和/etc/hostname文件后,使用 uname -n或uname-a
命令查看还是原来的主机名称,此时需要执行/etc/init.d/hostname.sh stop; sudo /etc/init.d/hostname.sh start;hostname才能生效。
分享到:
评论

相关推荐

    AIX常用命令详解中文版

    AIX常用命令详解中文版,很实用,自己搜集整理的。

    Linux中hostname修改方法详解

    通过hostname命令可以设置系统的hostname # hostname newname newname即要设置的新的hostname,运行后立即生效,但在系统重启后会丢失所做的修改。 永久修改hostname 永久更改系统的hostname需要要修改相关的设置...

    hostname命令 显示和设置系统的主机名

    hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。 在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名...

    解决linux找不到hostname的处理

    解决linux找不到hostname的处理文档UnknownHostException

    Linux常用命令大全.zip

    要想真正理解Linux系统,就必须从Linux命令学起, 通过基础的命令学习可以进一步理解Linux系统。 一、系统: # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/...

    linux 核心命令源码

    linux 核心命令源码(cp mv cat chgrp chown cut date df du echo env expand expr find force fs group head hostname join kill link ls mkdir mv nice od paste printf ptx rm selinux seq sleep sort split stat...

    Linux last命令用法详解

    Linux last命令 Linux last 命令用于显示用户最近登录信息。 使用权限:所有使用者。 语法shell>> last [options] 参数说明: -R 省略 hostname 的栏位 -num 展示前 num 个 username 展示 username 的登入讯息 tty ...

    路由器交换机配置命令详解.doc

    Cisco路由器交换机配置命令详解 1. 交换机支持的命令: 交换机基本状态: switch: ;ROM状态, 路由器是rommon〉 hostname〉 ;用户模式 hostname# ;特权模式 hostname(config)# ;全局配置模式 hostname(config-if...

    深入理解Linux修改hostname(推荐)

    当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛。技术活,切勿浅尝则止! 实验环境:...

    Linux修改主机名命令详解

    Linux修改主机名命令 1、如果只需要临时更改主机名,可以使用hostname命令。 sudo hostname # 例如: sudo hostname myDebian 这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是...

    linux常用命令源码(ls,cp,chmod,df等一百多个命令)

    linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...

    Cisco路由器交换机配置命令详解

    Cisco路由器交换机配置命令详解switch: ;ROM状态, 路由器是rommon> hostname> ;用户模式 hostname# ;特权模式 hostname(config)# ;全局配置模式 hostname(config-if)# ;接口状态

    Linux网络配置命令.zip

    Linux网络配置命令.zip arp hostname ifconfig ifup netstat nslookup ping route tcpdump traceroute ...

    LINUX操作命令汇总

    LINUX操作命令汇总 0001 修改主机名(bjchenxu) vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令" hostname 主机名"。一般还要修改/etc/hosts...

    Linux 常用命令(xls 文件)非常实用

    Linux 常用命令(xls 文件)非常实用 networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete) • ip link show List interfaces ethtool interface List interface status ip link set ...

    Linux mingetty命令用法详解

    Linux mingetty命令 Linux mingetty命令是精简版的getty。 mingetty适用于本机上的登入程序。 语法mingetty [--long-hostname][--noclear][tty] 参数说明: –long-hostname 显示完整的主机名称。 –noclear 在询问...

    05_Linux网络详解.zip

    2. 修改Linux的基本配置 **IP地址配置,最简单的一种 在命令运行 setup,带提示,按照提示修改即可 1.修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=server1.itcast.cn 2.修改ip地址 vi /etc/...

    常用查看Linux系统信息命令

    常用查看Linux系统信息命令 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有...

Global site tag (gtag.js) - Google Analytics