原文地址: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才能生效。
相关推荐
通过hostname命令可以设置系统的hostname # hostname newname newname即要设置的新的hostname,运行后立即生效,但在系统重启后会丢失所做的修改。 永久修改hostname 永久更改系统的hostname需要要修改相关的设置...
### Linux dig 命令详解:深入理解 DNS 查询利器 #### 概述 在 Linux 系统中,`dig`(Domain Information Groper)是一个功能强大的工具,用于查询域名系统(DNS)。它允许用户深入了解 DNS 的工作原理,帮助诊断...
### Linux lsof 命令详解 #### 一、概述 `lsof`(list open files)是一个强大的命令行工具,用于显示当前系统中所有打开的文件、网络连接和设备的情况。在Linux环境中,几乎所有东西都可以被视为文件,包括常规...
本资料“Linux常用命令详解.rar”聚焦于这一主题,旨在帮助用户掌握常用的Linux命令,从而更加熟练地使用Linux系统。 1. **ls**:用于列出目录中的文件和子目录。通过添加不同参数,如`-l`(长格式显示)、`-a`...
1. `ftp [-v -d -i -n -g] [hostname]`:这是启动FTP客户端的基本命令,`hostname`是目标服务器的地址。`-v`表示启用详细输出,显示命令交互过程;`-d`开启调试模式,显示更多内部操作;`-i`禁止输入文件名时自动...
### Linux下的dig命令详解 #### 概述 `dig`(Domain Information Groper,域信息搜索器)是一款功能强大的DNS查询工具,在Unix和Linux系统中广泛使用。它可以帮助用户了解DNS解析过程,诊断DNS相关的问题,并获取...
Linux中的tcpdump是一个强大的网络数据包分析工具,用于在网络层截取并分析数据包。它的功能在于根据用户设定的规则捕获网络流量,提供详细的信息以帮助诊断网络问题、监控网络活动或进行安全审计。tcpdump支持多种...
内含Linux常用必会60+个命令实例以及详解。 Linux提供了大量的命令,利用它可以有效地完成大量的工作, 如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。 所以,在Linux系统上工作离不开使用系统提供的...
### Linux命令lsof详解 #### 一、lsof命令简介 `lsof` 命令在Linux系统中扮演着极其重要的角色,它主要用于列出当前系统中所有已经打开的文件。这些文件可以是普通文件、设备文件、目录、套接字等。对于系统管理员...
以下是关于"Linux基础学习命令详解"的一些关键知识点: 1. **目录结构**: - `/`(根目录):所有其他目录的起点。 - `/bin`:存放常用命令的二进制文件,对所有用户都可访问。 - `/boot`:存储系统启动所需文件...
本资料“Linux系统命令及其详解”详细介绍了Linux环境中常用的各种命令,帮助用户更高效地操作Linux系统。 1. **ls**:用于列出目录中的文件和子目录。通过参数 `-l` 可以显示详细信息,如权限、大小、修改时间等;...
Linux TAR命令参数详解 Linux TAR命令是Linux系统中的一种归档工具,用于将文件或目录归档到一个单独的文件中,以便于存储和传输。TAR命令的参数众多,本文将对TAR命令的参数进行详细的解释。 基本参数 * -A, --...
### Linux操作实验知识点详解 #### 一、Linux命令格式及组成部分 **实验目的:** - 初步了解Linux命令的基本格式及其组成部分。 **知识点:** - **Linux命令行语法结构:** - `$ command [ [-] option(s) ] [ ...
Linux命令是用于控制和配置Linux系统、管理文件、执行程序和进行网络通信等操作的指令集。在Linux系统中,命令行工具非常强大且灵活,每一个命令都具有特定的功能,且往往可以通过各种选项来调整其行为。 ### 查看...
### Linux tcpdump命令详解 #### 一、简介 tcpdump是一款功能强大的网络数据包抓取工具,主要用于在Linux系统上捕获和分析网络流量。它能够根据用户设定的过滤条件来截取网络上的数据包,并对其进行详细的分析。该...
Linux的核心在于其强大的命令行界面,通过各种各样的命令,用户可以高效地管理文件、进程、网络等。本篇文章将深入探讨Linux系统中的常见命令及其使用方法。 1. **ls**:列出目录内容。`ls`命令用于查看当前目录下...
Linux last命令 Linux last 命令用于显示用户最近登录信息。 使用权限:所有使用者。 语法shell>> last [options] 参数说明: -R 省略 hostname 的栏位 -num 展示前 num 个 username 展示 username 的登入讯息 tty ...
* 查看主机名称:使用hostname命令可以查看主机的完整名称,包括主机名称和所在域的名称。 * 查看IP地址:使用ifconfig命令可以查看第一块网卡的IP地址和MAC地址。 二、查看CPU和内存 * 查看CPU信息:使用cat /...