如何在 Linux 中顯示和設定主機名?

Linux雲端計算資料自學發表於2019-01-17

640?


隨著連線到網路的計算機數量越來越多,每一臺計算機都需要有一個屬性來區別於其它計算機。和現實世界中的人一樣,計算機也有一個叫做hostname(主機名)的屬性。


640?wx_fmt=png


什麼是hostname


從它的操作手冊來看,hostname是用來顯示系統的DNS名字以及為了顯示和設定它的主機名或者NIS域名名字。所以hostname依賴於DNS(Domain Name System域名系統)或者NIS(Network Information System網路資訊系統)。


怎麼顯示hostname

hostname是為每一個linux發行版的預安裝命令。通過在控制檯輸入hostname,可以顯示你的機器的hostname。這裡有一個有個簡單的命令及其輸出。

$ hostname

ubuntu


上面的命令將會告訴你,計算機的名字是ubuntu 。


如何設定hostname

Hostname是在你第一次安裝Linux的時候設定。其中有一個步驟Linux會讓你輸入主機名稱的資訊。不過,如果你願意的話,你在之後設定也可以。


設定你的hostname,你可以使用下面的命令:


# hostname dev-machine


$ hostname

dev-machine


你需要使用root許可權,或者等同root的許可權來設定/修改你計算機的主機名。“#”標識證明你是root使用者。上述命令把你的計算機主機名設定成為dev-machine。如果你沒有收到任何報錯資訊,那麼你的hostname已經改變了。再一次使用hostname命令檢查,看看結果。


使用hostname命令設定你的hostname 不是永久的 。當你重啟你的計算機,你的設定將會失效。 為了永久改變 ,你必須手動修改hostname配置檔案。


Debian / Ubuntu系的Linux


你可以在 /etc/hostname 和 /etc/hosts 資料夾中找到這個檔案


下面是每一個檔案的內容


/etc/hostname


# vi /etc/hostname

dev-machine


/etc/hosts


# vi /etc/hosts

127.0.0.1 localhost

127.0.0.1 dev-machine


你將會發現不用重啟你的linux它就即刻生效。


RedHat / CentOS系的Linux


你可以在 /etc/hosts 和 /etc/sysconfig/networks 資料夾中找到這個檔案。


下面是每一個檔案的內容


/etc/hosts


127.0.0.1 localhost.localdomain localhost dev-machine

::localhost 127.0.0.1

/etc/sysconfig/network


NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=dev-machine


怎麼顯示DNS域名


來自上面的hostname的定義,hostname也可以顯示你的Linux的DNS名字。如果你的hostname命令會顯示你的hostname,那麼dnsdomainname命令也就會顯示你的域名。來看看這個簡單的例子。


$ dnsdomainname

bris.co.id


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


如果你看見結果是 (none),那麼你的機器沒有配置FQDN(Fully Qualified Domain Name 完全符合標準的域名) 。dnsdomainname命令摘取來自/etc/hosts檔案的資訊。你應該配置它為FQDN格式。下面是一個簡單的例子:


/etc/hosts

127.0.0.1 localhost.localdomain localhost dev-machine

::localhost 127.0.0.1

192.168.0.104 dev-machine.bris.co.id dev-machine


為了顯示更多的細節,你可以使用引數-v

$ dnsdomainname -v

gethostname()=’dev-machine.bris.co.id’

Resolving ‘dev-machine.bris.co.id’ …

Result: h_name=’dev-machine.bris.co.id’

Result: h_aliases=’dev-machine’

Result: h_addr_list=’192.168.0.104’


如何顯示hostname的更多細節資訊


Hostname命令可以使用多個引數和一些別名,比如dnsdomainname命令就是它的一個別名。這些引數在每日操作中是有用的。下面這些命令的結果是基於/etc/hosts的上述配置。


顯示IP地址

$ hostname -i

192.168.0.104


顯示域名

$ hostname -d

bris.co.id


顯示短主機名

$ hostname -s dev-machine

這個命令將會產生與只輸入hostname同樣的結果


顯示FQDN格式

$ hostname -f

dev-machine.bris.co.id


顯示細節資訊

所有的引數包括上述資訊,都可以通過使用引數-v 和 -d 來概括。讓我們來看一個例子。

$ hostname -v -d

gethostname()=’dev-machine.bris.co.id’

Resolving ‘dev-machine.bris.co.id’ …

 Result: h_name=’dev-machine.bris.co.id’

Result: h_aliases=’dev-machine’

Result: h_addr_list=’192.168.0.104’ 

bris.co.id

覺得熟悉嗎?沒錯,執行結果與上面提到的 dnsdomainname -v 命令式相同的。

英文:Pungki Arianto,編譯:Linux中國/Vic___

640?wx_fmt=other

雲端計算免費課程火熱開講中,5天運維經典課程免費學,會雲端計算的運維人才到底需要掌握哪些技術,未來前景發展怎麼樣?跟隨行業大咖一起剖根究底,點選文末“閱讀原文”長按下方二維碼即可報名免費課程抓住免費學習的機會,逆襲2019~~

 640?wx_fmt=png

PS:記得查收小編送你的免費大禮包呦~

福利 | 一萬多套PPT模板等你免費來拿!無條件領取!

免費送 | 1000多套簡歷模板免費拿,附贈簡歷製作教程!

免費領 | 《Shell指令碼 100例》電子書免費拿,運維必備乾貨~

640?640

▼▼點選【閱讀原文】,5天運維免費課程,開講在即!

相關文章