如何在Linux shell中获取本机主机名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux shell中获取本机主机名相关的知识,希望对你有一定的参考价值。
我想做一个自动修改/etc/hosts文件的脚本,将ip 主机名 写入/etc/hosts文件
1、查看主机名查看当前系统主机名,输入hostname命令查看。
2、如果是centos7版本,可以用 hostnamectl查看详细的信息。
3、临时修改主机名如果只是临时修改主机名,可以使用hostname 新主机名。
4、注意hostname修改的主机名,重启网卡服务会自动还原。
5、永久修改主机名如果要修改静态主机名,修改/etc/hostname文件。
6、修改好了之后,要重启一下服务器。输入reboot。
7、当然如果是centos7系统,有systemctl restart systemd-hostnamed服务,重启这个服务即可。
参考技术A1、打开终端,使用“vi”指令创建一个shell文件。
2、在中段自动打开了此文件后,点击键盘“i”来进入“插入”模式,此时就可以往这个文件内写入数据了。
3、然后在该文件中输入下列指令:/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk 'print $2'|tr -d "addr:" 。
4、最后点击“ESC”进入指令模式,于指令模式下输入:wq,表示保存并退出此文件。
5、此时已经生成了此Shell文件,再在终端中敲入“chmod”指令来提升该Shell文件的权限。
6、最后在终端中运行此Shell脚本,可以看出Shell运行完成后,在终端中打印了IP地址和名称了。
参考技术B 直接执行hostname命令追问我想把结果保存在一个变量中
追答把hostname返回的结果赋给一个变量,变量名=$(hostname)
参考技术C linux环境下执行hostname可以看到本机主机名,感谢采纳,还有问题可留言。如何在 Linux 中更改主机名?运维工程师应该都知道吧!
主机名,也称为计算机名,是分配给网络上的主机的标签,用于将特定网络上的设备与其他设备区分开来,包含字母数字字符、点和连字符的简单字符串。
在 Linux 中显示主机名
在继续更改主机名之前,让我们首先检查Linux 系统上的当前主机名是什么。
检查 Linux 系统上主机名有几种方法,在这里,我将介绍最常用的方法。
可以在 Linux 中通过hostname不带任何选项运行命令来查找系统主机名:
hostname
从上面的输出可以看出,我的 Linux 系统的主机名是ubuntu.
在 Linux 中获取系统主机名的另一种方法是运行hostnamectl不带任何选项的命令:
hostnamectl
与hostname命令不同,hostnamectl显示系统的更多相关详细信息,例如系统类型、操作系统、内核版本、体系结构等。
现在让我们继续更改 Linux 系统的主机名。
在 Linux 中更改主机名
我们可以将 Linux 系统的系统主机名更改为任何其他所需的主机名。例如,我们要将当前系统的主机名从ubuntu更改为web-server。
为此,我们将使用hostnamectl带set-hostname参数后跟新主机名的命令,在我们的例子中web-server:
sudo hostnamectl set-hostname web-server
当然,不要忘记替换web-server为您要使用的名称。
请记住,这hostnamectl set-hostname不会产生任何输出。因此,您可以使用hostnamectl不带任何选项的命令来验证主机名是否已更改:
hostnamectl
您可以看到新提供的主机名在我们的 Linux 系统上已成功更改。
当您通过hostnamectl命令更改主机名时,您无需重新启动系统即可查看主机名更改的效果。
但是,要永久更改您的主机名,您还需要编辑您的/etc/hosts文件,例如nano,使用您选择的编辑器打开文件并用新主机名替换所有出现的旧主机名。
sudo nano /etc/hosts
保存更改并退出/etc/hosts文件,然后重新启动系统以应用更改。
结论
任何基于 Linux 的发行版中的主机名都用于在网络中唯一地标识系统,系统管理员的一项基本任务是知道如何更改主机名。
以上是关于如何在Linux shell中获取本机主机名的主要内容,如果未能解决你的问题,请参考以下文章
[Linux Shell学习系列三]常用Shell(Bash)命令-其他常用命令