这篇文章为大家介绍linux hostname主机名配置文件/etc/hosts,包括主机名的用途、配置文件的操作方法等,有需要的朋友,可以参考下

1、什么是Linux主机名

无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个IP 地址可有对应多个域名。域名类型 Linux sir.org 这样的;

主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。主机名相关的配置文件:/etc/hosts;

2. Linux主机名配置文件

主机名的配置文件大多是/etc/hosts ;hosts - The static table lookup for Linux hostname(主机名查询静态表);由于 Linux发行版本众多,与主机名相关的配置文件有时也有所不同。现在我们说说常见版本的主机名配置文件;

2.1 Linux主机名置文件 /etc/hosts
Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版,主机名配置文件是 /etc/hosts Debian或以Debian为基础打包的发行版,主机名配置文件是 /etc/Linux hostname 和/etc/hosts Slackware的主机名配置文件是 /etc/hosts 那我们来读读 /etc/hosts的内容,看这个文件是用来做什么的。

hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过Linux hostname来访问。注:在debian 中还有一个/etc/Linux hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和 /etc/hosts中的本地主机名保持一致。

/etc/hosts 的内容一般有如下类似内容:127.0.0.1 localhost.localdomain localhost 192.168.1.195 debian.localdomain debian注:一般情况下hosts的内容关于主机名(Linux hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain第二部份:主机名(主机名别名) ,其实就是主机名;当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian

127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。 为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计Linux hostname;

127.0.0.1 localhost.localdomain localhost  
192.168.1.2 ftp.localdomain ftp  
192.168.1.3 mail.localdomain mail  
192.168.1.4 smb.localdomin smb 
把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过Linux hostname来访问了。

2.2 主机名(Linux hostname)和域名(Domain)的区别
主机名就机器本身的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是可以解析到IP上的;比如我们前面所说举的例子;

2.3 局域网的机器,不能通过主机名互访的原因;
有的可能会说,我的Linux hostname彼此不能互访,其实这也问题也简单,我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的,并且包含所有主机的/etc/hosts文件;

另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行;如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是以效率优先的原则为基础。

比如在局域网中两台机器,还有必要做DNS服务器吗?

3、主机名修改工具 Linux hostname;

其实主机名的修改也有专用工具,就是Linux hostname ;我认为如果用这个工具来修改主机名,不如直接修改 /etc/hosts 来的方便;您可以查看 hosname --help或 man Linux hostname的帮助 。在这里我们只说简单的用法;Linux hostname 工具是用来显示和设置系统主机名,看下面的洋文;Linux hostname - show or set the system’s host name

举例:显示主机名:[root@linuxsir01 ~]# Linux hostname linuxsir01此主机的主机名是linuxsir01,不加参数是用来显示当前操作的主机的主机名;临时设置主机名:我们可以用 Linux hostname 后接主机名,这样就可以设置当前操作的主机的主机名.

比如想把主机名设置为linuxsir02;[root@linuxsir01 ~]# Linux hostname linuxsir02[root@linuxsir01 ~]# Linux hostname 注:显示主机名linuxsir02通过Linux hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;
要永久生效的等话,还是用前面所说的修改主机名配置文件 /etc/hosts;显示主机IP:显示当前主机名的IP,可以用-i参数;[root@linuxsir01 ~]# Linux hostname -i192.168.1.3

4、未尽事宜;

有时在登入桌面时,会提示找不到Linux hostname ,这时修改/etc/hosts,添加一个主机名;
先用 ifconfig -a 来查看主机的IP地址,然后把你主机的IP地址,指定主机名;
如此操作之后,就没有问题了。

Linux hostname主机名配置文件/etc/hosts详解的更多相关文章

  1. Linux hostname主机名配置文件与文件 /etc/hosts解析(copy来的,原作者看到了别打我)

    1.关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负 ...

  2. Linux hostname主机名查看和设置

    查询主机名: uname -n hostname [root@oldboy ~]# uname -n oldboy [root@oldboy ~]# hostname oldboy Linux操作系统 ...

  3. linux修改主机名(hostname)转载

    Linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  4. Linux:更改hostname主机名

    更改hostname主机名 查看主机名 hostname 临时更改主机名 hostname youname 更改永久生效主机名 1)更改配置文件 vi /etc/sysconfig/network 2 ...

  5. Linux修改主机名【转】

    一.永久修改修改/etc/sysconfig/network,在里面指定主机名称HOSTNAME=然后执行命令hostname 主机名这个时候可以注销一下系统,再重登录之后就行了. 或者修改/etc/ ...

  6. linux修改主机名的方法

    linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  7. CentOS Linux 修改主机名

    一.CentOS5 修改主机名 二.CentOS6 修改主机名 三.CentOS7 修改主机名 静态的(Static hostname)        "静态"主机名也称为内核主机 ...

  8. linux yum的配置文件 repo文件详解

    linux yum的配置文件 repo文件详解 什么是repo文件?repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪 ...

  9. mysql配置文件my.cnf详解

    原文地址:mysql配置文件my.cnf详解 作者:gron basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的 ...

随机推荐

  1. Spring Boot入门系列(十四)使用JdbcTemplate操作数据库,配置多数据源!

    前面介绍了Spring Boot 中的整合Mybatis并实现增删改查.如何实现事物控制.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/c ...

  2. 解决IIS应用程序池默认回收导致程序崩溃

      这些网上常见的解决: 其实他们只知其一不知其二:一味的调长超时时间根本就是治标不治本的解决方案, 超时时间再长也会出现到期时间,那时候我们该怎么办呢?(某些吃瓜群众就会大喊:那我就手动去重启一下呗 ...

  3. Java实现 LeetCode 652 寻找重复的子树(两个map的DFS)

    652. 寻找重复的子树 给定一棵二叉树,返回所有重复的子树.对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可. 两棵树重复是指它们具有相同的结构以及相同的结点值. 示例 1: 1 / \ ...

  4. Java实现字符串的全排列

    1 问题描述 输入一个字符串,打印出该字符串的所有排列.例如,输入字符串"abc",则输出有字符'a','b','c'所能排列出来的所有字符串"abc",&qu ...

  5. Java实现 蓝桥杯 历届试题 翻硬币

    问题描述 小明正在玩一个"翻硬币"的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo 如 ...

  6. 一篇文章快速搞懂 Atomic(原子整数/CAS/ABA/原子引用/原子数组/LongAdder)

    前言 相信大部分开发人员,或多或少都看过或写过并发编程的代码.并发关键字除了Synchronized,还有另一大分支Atomic.如果大家没听过没用过先看基础篇,如果听过用过,请滑至底部看进阶篇,深入 ...

  7. iOS-Code Data多线程的封装详解

    Code Data 的单例封装:      很容易发现,系统生成的模版代码将Core Data 的基本的准备(貌似还挺复杂!)都放在 AppDelegate中了,可苹果公司为什么会这么做呢?     ...

  8. 在MyEclipse中设置jdk

    在MyEclipse中设置jdk的三处地方:1 选中项目右键菜单properties -->java Compiler 2 windows菜单中Preferences-->myeclips ...

  9. 02.快捷键及基本dos命令

    无论是使用Windows.Linux操作系统,还是在IDE中,快捷键都是系统本身的标配,事实上,Ctrl+C.V这样的操作,可以帮我们节省大量的时间,如果在IDE中编写代码,除了代码本身,将其余所有的 ...

  10. Cron表达式,springboot定时任务

    详细请看这篇博客 参考:https://blog.csdn.net/belonghuang157405/article/details/83410197 Cron表达式是一个字符串,字符串以5或6个空 ...