在linux中,主機(jī)名(也稱為計(jì)算機(jī)名)是提供給連接到網(wǎng)絡(luò)的設(shè)備(可以是系統(tǒng)、交換機(jī)、路由器等)的名稱,用于通過(guò)網(wǎng)絡(luò)對(duì)其進(jìn)行標(biāo)識(shí)。Linux系統(tǒng)給當(dāng)前主機(jī)命名的目的是能夠更容易記住,尤其是在部署集群的時(shí)候更加方便。Linux中可利用hostnamectl、hostname、uname、nmcli、sysctl命令來(lái)查看主機(jī)名。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中什么是主機(jī)名?
主機(jī)名(也稱為計(jì)算機(jī)名)是提供給連接到網(wǎng)絡(luò)的設(shè)備(可以是系統(tǒng)、交換機(jī)、路由器等)的名稱,用于通過(guò)網(wǎng)絡(luò)對(duì)其進(jìn)行標(biāo)識(shí)。同一網(wǎng)絡(luò)中不能有兩個(gè)主機(jī)名相同的系統(tǒng)。Linux系統(tǒng)給當(dāng)前主機(jī)命名的目的是能夠更容易記住,尤其是在部署集群的時(shí)候更加方便。一般主機(jī)名稱都會(huì)有IP地址來(lái)關(guān)聯(lián),這樣在其它集群中,主機(jī)換ip其它的集群機(jī)器不用相應(yīng)的修改。
在一個(gè)局域網(wǎng)中,每臺(tái)機(jī)器都有一個(gè)主機(jī)名,用于主機(jī)與主機(jī)之間的便于區(qū)分,就可以為每臺(tái)機(jī)器設(shè)置主機(jī)名,以便于以容易記憶的方法來(lái)相互訪問(wèn)。比如我們?cè)诰钟蚓W(wǎng)中可以為根據(jù)每臺(tái)機(jī)器的功用來(lái)為其命名。
主機(jī)名的配置文件大多是/etc/hosts
;
hosts – The static table lookup for host name(主機(jī)名查詢靜態(tài)表);
由于 Linux 發(fā)行版本眾多,與主機(jī)名相關(guān)的配置文件有時(shí)也有所不同?,F(xiàn)在我們說(shuō)說(shuō)常見(jiàn)版本的主機(jī)名配置文件;
Linux中怎么查看主機(jī)名
默認(rèn)情況下,可以在終端中找到主機(jī)名,但僅當(dāng)主機(jī)名較比較大時(shí)才顯示第一部分(每個(gè)主機(jī)名通常至少有一個(gè)與之關(guān)聯(lián)的網(wǎng)絡(luò)地址)。
1,查看主機(jī)名使用hostnamectl
hostnamectl 可用于查詢和更改系統(tǒng)主機(jī)名和相關(guān)設(shè)置。運(yùn)行 hostnamectl 命令以查看系統(tǒng)主機(jī)名,命令如下所示:
# hostnamectl 或者 # hostnamectl status
從上圖可以看出當(dāng)前的主機(jī)名是localhost.localdomain。
2,查看主機(jī)名使用hostname
主機(jī)名是用于設(shè)置或顯示系統(tǒng)的當(dāng)前主機(jī)、域或節(jié)點(diǎn)名。許多網(wǎng)絡(luò)程序都使用這些名稱來(lái)標(biāo)識(shí)計(jì)算機(jī)。NIS/YP 也使用該域名,命令如下:
#hostname
3,查看主機(jī)名使用uname
uname(含義是unix名稱)是一個(gè)實(shí)用命令,它打印系統(tǒng)信息,如名稱,版本和有關(guān)系統(tǒng)的其他詳細(xì)信息,以及在其上運(yùn)行的操作系統(tǒng)。命令如下:
# uname -a | awk '{print $2}'
4,查看主機(jī)名使用nmcli
nmcli命令是主要用于網(wǎng)絡(luò)管理控制以及網(wǎng)絡(luò)狀態(tài)報(bào)表。nmcli主要用于創(chuàng)建、顯示、編輯、刪除、激活和停用網(wǎng)絡(luò)連接,以及控制和顯示網(wǎng)絡(luò)設(shè)備狀態(tài)。命令如下:
# nmcli general hostname
5,查看主機(jī)名使用sysctl
sysctl命令主要用于Linux運(yùn)行時(shí)修改內(nèi)核參數(shù),可用的參數(shù)是 /proc/sys/ 下列出的參數(shù)。Procfs 是 Linux 中 sysctl 支持所必需的。您可以使用 sysctl 讀取和寫入 sysctl 數(shù)據(jù)。查看主機(jī)名命令如下所示。
# sysctl kernel.hostname