uname -n 与主机名

uname -n 与主机名

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

答案1

没有区别。hostnameuname -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() 系统调用。

相关内容