随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机。和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性。

什么是hostname

从它的操作手册来看,hostname是用来显示系统的DNS名字以及为了显示和设置它的主机名或者NIS域名名字。所以hostname依赖于DNS(Domain Name System域名系统)或者NIS(Network Information System网络信息系统)。

怎么显示hostname

hostname是为每一个linux发行版的预安装命令。通过在控制台输入hostname,可以显示你的机器的hostname。这里有一个有个简单的命令及其输出。

  1. $ hostname
  2. Ubuntu

上面的命令将会告诉你,计算机的名字是ubuntu 。

如何设置hostname

Hostname是在你第一次安装Linux的时候设置。其中有一个步骤Linux会让你输入主机名称的信息。不过,如果你愿意的话,你在之后设置也可以。

设置你的hostname,你可以使用下面的命令:

  1. # hostname dev-machine
  2.  
  3. $ hostname
  4. dev-machine

需要使用root权限,或者等同root的权限来设置/修改你计算机的主机名。“#”标识证明你是root用户。上述命令把你的计算机主机名设置成为dev-machine。如果你没有收到任何报错信息,那么你的hostname已经改变了。再一次使用hostname命令检查,看看结果。

使用hostname命令设置你的hostname 不是永久的 。当你重启你的计算机,你的设定将会失效。 为了永久改变 ,你必须手动修改hostname配置文件。

Debian / Ubuntu系的Linux

你可以在 /etc/hostname 和 /etc/hosts 文件夹中找到这个文件

下面是每一个文件的内容

/etc/hostname

  1. # vi /etc/hostname
  2. dev-machine

/etc/hosts

  1. # vi /etc/hosts
  2. 127.0.0.1 localhost
  3. 127.0.0.1 dev-machine

你将会发现不用重启你的linux它就即刻生效。

RedHat / CentOS系的Linux

你可以在 /etc/hosts 和 /etc/sysconfig/networks 文件夹中找到这个文件。

下面是每一个文件的内容

/etc/hosts

  1. 127.0.0.1 localhost.localdomain localhost dev-machine
  2. ::localhost 127.0.0.1

/etc/sysconfig/network

  1. NETWORKING=yes
  2. NETWORKING_IPV6=no
  3. HOSTNAME=dev-machine

怎么显示DNS域名

来自上面的hostname的定义,hostname也可以显示你的Linux的DNS名字。如果你的hostname命令会显示你的hostname,那么dnsdomainname命令也就会显示你的域名。来看看这个简单的例子。

  1. $ dnsdomainname
  2. bris.co.id

在本篇文章,dnsdomainname命令的结果是 bris.co.id

如果你看见结果是 (none),那么你的机器没有配置FQDN(Fully Qualified Domain Name 完全符合标准的域名) 。dnsdomainname命令摘取来自/etc/hosts文件的信息。你应该配置它为FQDN格式。下面是一个简单的例子:

/etc/hosts

  1. 127.0.0.1 localhost.localdomain localhost dev-machine
  2. ::localhost 127.0.0.1
  3. 192.168.0.104 dev-machine.bris.co.id dev-machine

为了显示更多的细节,你可以使用参数-v

  1. $ dnsdomainname -v
  2. gethostname()=’dev-machine.bris.co.id
  3. Resolving dev-machine.bris.co.id
  4. Result: h_name=’dev-machine.bris.co.id
  5. Result: h_aliases=’dev-machine
  6. Result: h_addr_list=’192.168.0.104

如何显示hostname的更多细节信息

Hostname命令可以使用多个参数和一些别名,比如dnsdomainname命令就是它的一个别名。这些参数在每日操作中是有用的。下面这些命令的结果是基于/etc/hosts的上述配置。

显示IP地址

  1. $ hostname -i
  2. 192.168.0.104

显示域名

  1. $ hostname -d
  2. bris.co.id

显示短主机名 $ hostname -s dev-machine

这个命令将会产生与只输入hostname同样的结果

显示FQDN格式

  1. $ hostname -f
  2. dev-machine.bris.co.id

显示细节信息

所有的参数包括上述信息,都可以通过使用参数-v 和 -d 来概括。让我们来看一个例子。

  1. $ hostname -v -d
  2. gethostname()=’dev-machine.bris.co.id
  3. Resolving dev-machine.bris.co.id
  4. Result: h_name=’dev-machine.bris.co.id
  5. Result: h_aliases=’dev-machine
  6. Result: h_addr_list=’192.168.0.104
  7. bris.co.id

觉得熟悉吗?没错,运行结果与上面提到的 dnsdomainname -v 命令式相同的。

转自:https://www.linuxidc.com/Linux/2013-12/93596.htm

如何在Linux中显示和设置主机名(适用ubantu、centos等版本)的更多相关文章

  1. 如何在Linux中显示和设置主机名

    原文链接 随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机.和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性. 什么是hostname 从它的 ...

  2. Linux命令之hostname - 显示或设置主机名

    我使用过的Linux命令之hostname - 显示或设置主机名 本文链接:http://codingstandards.iteye.com/blog/804648   (转载请注明出处) 用途说明 ...

  3. Linux设置主机名与hosts映射

    目的 方便操作,便于建立Linux集群. 设置主机名 查看主机名:hostname 设置主机名,修改/etc/hosts:vim /etc/hostname 通过主机名ping通 原理 通过hosts ...

  4. 【Centos7】hostnamectl 设置主机名

    Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...

  5. Centos7】hostnamectl 设置主机名

    Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...

  6. 如何在 Linux 上使用 x2go 设置远程桌面

    https://linux.cn/article-5708-1.html 由于一切都迁移到了云上,作为提高职员生产力的一种方式,虚拟远程桌面在工业中越来越流行.尤其对于那些需要在多个地方和设备之间不停 ...

  7. 如何在 Linux 中查看可用的网络接口

    在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了.当然,你可以在安装系统时进行网络接口的配置.但是,对于某些人来说,他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置.众所周知 ...

  8. 如何在 Linux 中查看进程占用的端口号【转】

    对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...

  9. 如何在Linux中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

随机推荐

  1. FJUTOJ-3682 LRU算法的实现2 (链表+哈希)

    传送门 此题让我们实现一个LRU的模板类.本题较简便且高效的写法是维护一个std::list和一个std::unordered_map. std::list 与 std::unordered_map ...

  2. [Python]Python日期格式和字符串格式相互转换

    由字符串格式转化为日期格式的函数为: datetime.datetime.strptime() 由日期格式转化为字符串格式的函数为: datetime.datetime.strftime() # en ...

  3. Spring整合MyBatis案例练习笔记

    需求: 用户登录 技术需求: Servlet+Spring+Mybatis+MVC+jsp+css+html+jquery 数据库设计: 用户表 Sql语句设计: select * from t_us ...

  4. OpenGL 编程指南 (5.1)

    1.OpenGL支持同时使用多个纹理单元,使用GL_TEXTUREi进行标识,使用前需要先激活对应的纹理单元,默认GL_TEXTURE0是激活绑定的. void glActiveTexture(GLe ...

  5. Linux - Shell - 算数表达式 - 位运算

    概述 shell 中基于 $(()) 的 位运算 背景 复习 shell 脚本 凑数吧 准备 环境 os centos7 1. 位运算 代码 #!/bin/bash # 位运算 arg1=2 arg2 ...

  6. networkx graph save and load

    Generate and parse JSON serializable data for NetworkX graphs. node_link_data(G[, attrs]) Returns da ...

  7. JVM&GC详解

    1.JVM简介 JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器.它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序. ja ...

  8. [转]Jarvis OJ- [XMAN]level2/3_x64-Writeup

    学弟写的挺好的,我就直接转过来了 原文链接:http://www.cnblogs.com/ZHijack/p/7940686.html 两道64位栈溢出,思路和之前的32位溢出基本一致,所以放在一起 ...

  9. mediasoup-demo解析-服务端

    1.启动server npm start启动服务,会执行脚本: "start": "DEBUG=${DEBUG:='*mediasoup* *INFO* *WARN* * ...

  10. 实现简单的 JS 模块加载器

    实现简单的 JS 模块加载器 1. 背景介绍 按需加载是前端性能优化的一个重要手段,按需加载的本质是从远程服务器加载一段JS代码(这里主要讨论JS,CSS或者其他资源大同小异),该JS代码就是一个模块 ...