文章目录
- 前言
- 一. hostname命令介绍
- 二. 语法格式及常用选项
- 三. 参考案例
- 3.1 显示本机的主机名
- 3.2 临时修改主机名
- 3.3 显示短格式的主机名
- 3.4 显示主机的ip地址
- 四. 永久修改主机名
- 4.1 centos6 修改主机名的方式
- 4.2 centos7中修改主机名永久生效
- 总结
前言
大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第46篇文章。
专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘
一. hostname命令介绍
hostname命令用于显示和设置系统的主机名称。
在环境变量HOSTNAME也保存了当前的主机名。
在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。
如果需要永久修改主机名 ,在不同的系统中使用不同的方法:
- centos 6中设置永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
- 在centos7中设置主机名,可以使用hostnamectl set-hostname
我们使用hostnamectl 命令修改主机名,其实是对/etc/hostname文件的内容进行修改
二. 语法格式及常用选项
依据惯例,我们还是先查看帮助,使用 hostname --help
[root@mufeng ~]# hostname --help
Usage: hostname [-b] {hostname|-F file} set host name (from file)
hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name
hostname display host name
{yp,nis,}domainname {nisdomain|-F file} set NIS domain name (from file)
{yp,nis,}domainname display NIS domain name
dnsdomainname display dns domain name
hostname -V|--version|-h|--help print info and exit
Program name:
{yp,nis,}domainname=hostname -y
dnsdomainname=hostname -d
Program options:
-a, --alias alias names
-A, --all-fqdns all long host names (FQDNs)
-b, --boot set default hostname if none available
-d, --domain DNS domain name
-f, --fqdn, --long long host name (FQDN)
-F, --file read host name or NIS domain name from given file
-i, --ip-address addresses for the host name
-I, --all-ip-addresses all addresses for the host
-s, --short short host name
-y, --yp, --nis NIS/YP domain name
Description:
This command can get or set the host name or the NIS domain name. You can
also get the DNS domain or the FQDN (fully qualified domain name).
Unless you are using bind or NIS for host lookups you can change the
FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
part of the FQDN) in the /etc/hosts file.
为了更直观一些,我们把常用的参数用表格来展示:
参数 | 描述 |
---|---|
-a,–alias | 显示主机的别名(如果使用了的话). |
-F,–file filename | 从指定文件中读取主机名.注释(以一个`#'开头的行)可忽略. |
-h,–help | 打印用法信息并退出. |
-I, --all-ip-addresses all addresses for the host | 显示主机的所有地址 |
-i,–ip-address | 显示主机的IP地址(组). |
-V,–version | 在标准输出上打印版本信息并以成功的状态退出. |
-v,–verbose | 详尽说明并告知所正在执行的. |
有了具体的参数之后,我们再来看实战案例:
三. 参考案例
3.1 显示本机的主机名
此时,不需要加任何参数,直接执行命令即可:
[root@mufeng ~]# hostname
mufeng
一些其他命令也可以显示主机名,比如:
[root@mufeng ~]# uname -n
mufeng
3.2 临时修改主机名
临时修改主机名,可以直接在hostname后面跟上你想要加的主机名即可:
[root@mufeng ~]# hostname mufenggrow
[root@mufeng ~]# bash
[root@mufenggrow ~]#
修改完主机名,一定要记得刷新,不刷新的话,root@ 后面还是显示原主机名。 当然只是看着不舒服,实际上已经改过来了。
3.3 显示短格式的主机名
此时,可以使用 -s参数, 一个主机名可以很长,比如mufeng.grow.com
## 先设置一个长格式的主机名
[root@mufenggrow ~]# hostname mufeng.grow.com
[root@mufenggrow ~]# bash
[root@mufeng ~]# hostname
mufeng.grow.com
查看段格式的主机名
[root@mufeng ~]# hostname -s
mufeng
[root@mufeng ~]#
这里的主机名是以. 为分割的,只截取了第一段。
3.4 显示主机的ip地址
显示主机的IP地址,使用的是-i参数
[root@mufeng ~]# hostname -i
fe80::d524:3f3e:45ed:79c3%ens32 192.168.1.41 192.168.122.1
[root@mufeng ~]#
可以看到,当前的ip地址为 192.168.1.41
如果使用-I参数,显示的是主机的所有地址:
[root@mufeng ~]# hostname -I
192.168.1.41 192.168.122.1
为了更够直接截取IP,我们可以使用命令截取:
案例一: 使用awk 以空格为分割符号,截取第一段:
root@mufeng ~]# hostname -I |awk -F " " '{print $1}'
192.168.1.41
案例二:使用cut命令,以空格为分隔符,截取第一段:
[root@mufeng ~]# hostname -I |cut -d " " -f 1
192.168.1.41
四. 永久修改主机名
修改主机名,centos6和centos7有点区别
我们先看centos6如何修改:
4.1 centos6 修改主机名的方式
centos6中需要修改两处:
一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改一处会导致系统启动异常。
修改第一个配置文件:
[root@mufeng ~]# vim /etc/sysconfig/network
[root@mufeng ~]# cat !$
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=mufeng
接下来修改第二个配置文件:/etc/hosts
[root@mufeng ~]# cat >>/etc/hosts<<EOF
> 192.168.1.42 mufeng
> EOF
[root@mufeng ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.42 mufeng
[root@mufeng ~]#
这两个配置文件修改完成后,并不会立即生效,需要重启才可以
重启的命令任选一个吧:
# init 6
# reboot
4.2 centos7中修改主机名永久生效
第一种方法,我们可以centos7中可以使用命令修改:
[root@mufeng ~]# hostnamectl set-hostname mufenggrow
[root@mufeng ~]# bash
[root@mufenggrow ~]# hostname
mufenggrow
第二种方法: 我们可以到配置文件中:
[root@mufenggrow ~]# vim /etc/hostname
[root@mufenggrow ~]# cat !$
cat /etc/hostname
mufenggrow
这两种都可以设置永久生效
总结
sort命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。
✨ 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!