如何在Linux中顯示和設置主機名
隨著連接到網路的計算機數量越來越多,每一台計算機都需要有一個屬性來區別於其它計算機。和現實世界中的人一樣,計算機也有一個叫做hostname(主機名)的屬性。
什麼是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 命令式相同的。
via: http://linoxide.com/linux-command/display-set-hostname-linux/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive