Hostname

uname -n vs 主機名

  • November 13, 2017

uname -n和 和有什麼不一樣hostname?他們返回的東西有什麼真正的區別嗎?不同作業系統的可用性有什麼不同嗎?其中一個包含在 POSIX 中,而另一個不包含在 POSIX 中嗎?

沒有區別。hostnameuname -n輸出相同的資訊。他們都從uname()系統呼叫中獲得它。

一個區別是該hostname命令可用於設置主機名以及獲取它。uname不能那樣做。(通常這只會在啟動過程的早期完成一次!)

就像其他人所說的那樣,uname -n是你的朋友,它的優勢在於它是一個符合 POSIX/SUSv4 的命令,而hostname不是。

但是請注意,它是系統呼叫uname -n的簡單包裝器。gethostname(2)特別是,它不諮詢名稱服務將返回的名稱轉換gethostname(2)為完全限定的域名,這可以hostname -f在Linux上實現。(BSD/Applehostname -f等同於uname -n。)

引用自:https://unix.stackexchange.com/questions/199698