uname命令
uname命令是linux的命令,用于输出系统信息。
命令参数
命令用于打印某些系统信息。当没有参数时,输出结果与-s参数一样。
-a, --all 以如下次序输出所有信息。其中若-p 和
-i 的探测结果不可知则被省略:
-s, --kernel-name 输出内核名称
-n, --nodename 输出网络节点上的主机名
-r, --kernel-release 输出内核发行号
-v, --kernel-version 输出内核版本
-m, --machine 输出主机的硬件架构名称
-p, --processor 输出处理器类型或"unknown"
-i, --hardware-platform 输出硬件平台或"unknown"
-o, --operating-system 输出操作系统名称
--help 显示此帮助信息并退出
--version 显示版本信息并退出
命令截图
命令实现
-s, --kernel-name 输出内核名称
-n, --nodename 输出网络节点上的主机名
-r, --kernel-release 输出内核发行号
-v, --kernel-version 输出内核版本
-m, --machine 输出主机的硬件架构名称
以上输出信息可以通过uname系统调用获取。
struct utsname {
char sysname[]; /* Operating system name (e.g., "Linux") 内核名称 */
char nodename[]; /* Name within "some implementation-defined network"
网络节点上的主机名 */
char release[]; /* Operating system release (e.g., "2.6.28") 内核发行号*/
char version[]; /* Operating system version 内核版本*/
char machine[]; /* Hardware identifier 主机的硬件架构名称 */
};
#include <sys/utsname.h>
int uname(struct utsname *buf);
-p, --processor 输出处理器类型或"unknown"
-i, --hardware-platform 输出硬件平台或"unknown"
-o, --operating-system 输出操作系统名称
处理器类型和硬件平台可以通过sysctl函数获取。
操作系统名称是直接写在uname程序中的,不是通过系统调用获取的。