在我的服务器上,它们都返回主机名:
$ ubuntu@mt-solo:~$ uname -n
myserver
$ ubuntu@mt-solo:~$ hostname
myserver
Run Code Online (Sandbox Code Playgroud)
总是这样吗?
在 Linux 上,它们是等效的。一个刚刚加入uname实用程序,另一个加入hostname实用程序。
uname -n
打印网络节点主机名或“节点名”。
hostname
不带任何参数,打印 gethostname() 函数返回的系统名称。
的uname()函数文档包括以下信息:
请注意,没有标准说 sethostname(2) 设置的主机名与 uname() 返回的结构体的节点名字段是相同的字符串(实际上,某些系统允许 256 字节的主机名和 8 字节的节点名),但在 Linux 上确实如此。这同样适用于 setdomainname(2) 和 domainname 字段。
(请注意,Linuxsethostname()将主机名限制为 64 字节)
在 GNU/Linux 上,它们完全相同的进一步证据来自gethostname()函数文档:
GNU C 库不使用 gethostname() 系统调用;相反,它将 gethostname() 实现为一个库函数,该函数调用 uname(2) 并将最多 len 个字节从返回的 nodename 字段复制到 name 中。
基本上,hostname包括对uname.
| 归档时间: |
|
| 查看次数: |
13237 次 |
| 最近记录: |