uname -n 与主机名

Sil*_*eth 6 hostname posix

uname -n和 和有hostname什么区别?他们返回的内容有什么真正的区别吗?不同操作系统的可用性是否存在差异?其中一个是否包含在 POSIX 中,另一个没有?

Cel*_*ada 5

没有区别。hostnameuname -n输出相同的信息。他们都从uname()系统调用中获得它。

一个区别是该hostname命令可用于设置主机名以及获取它。uname不能这样做。(通常这只会在启动过程的早期完成一次!)


小智 5

就像其他人所说的那样,uname -n是你的朋友,并且有一个优点,因为它是 POSIX/SUSv4 兼容的命令,而hostname不是。

但请注意,这uname -n是系统调用的简单包装gethostname(2)。特别是,它不咨询名称服务来将返回的名称转换gethostname(2)为完全限定的域名,这可以在hostname -fLinux 上实现。(BSD/Applehostname -f与 相同uname -n。)