uname -n
和 和有什么区别hostname
?他们返回的结果有什么真正的区别吗?不同操作系统上的可用性是否有差异?其中一个包含在 POSIX 中,另一个则不包含吗?
答案1
没有区别。hostname
并uname -n
输出相同的信息。他们都从uname()
系统调用中获取它。
一个区别是该hostname
命令可用于放主机名以及获取它。uname
不可以这样做。 (通常这只会在启动过程的早期完成一次!)
答案2
就像其他人所说的那样,uname -n
是你的朋友,并且有一个优点,因为它是 POSIX/SUSv4 兼容的命令,而hostname
不是。
但请注意,这uname -n
是系统调用的简单包装gethostname(2)
。特别是,它不咨询名称服务来将返回的名称转换gethostname(2)
为完全限定的域名,这可以hostname -f
在 Linux 上实现。 (BSD/Applehostname -f
与 相同uname -n
。)
答案3
- 名称(你尼克斯姓名) 打印系统信息。
- 与
uname -n
相同hostname
。 - 两者都用于后台 uname() 系统调用。