当前位置: 首页 > news >正文

Linux 命令之 uname 详解(查看系统信息)

1. 命令简介

uname是一个用于打印系统信息的 Linux/Unix 命令行工具。它可以显示关于当前机器和操作系统的详细信息,例如内核名称、版本、主机名、硬件架构等。该命令是系统管理员和开发者在进行系统诊断、脚本编写或环境检查时的常用工具。

uname是 GNU coreutils 软件包的一部分,因此在大多数 Linux 发行版和类 Unix 系统中都默认可用。

2. 语法格式

bash

运行

uname [OPTION]...

说明

  • 当不提供任何选项时,uname默认执行uname -s,即仅打印内核名称。
  • 可以同时指定多个选项来组合输出信息。
  • 使用-a--all选项可以一次性打印所有可用的系统信息。

3. 常用选项及说明

表格

短选项长选项说明
-a--all按顺序打印所有可用的系统信息。如果处理器 (-p) 或硬件平台 (-i) 信息未知,则会被省略
-s--kernel-name打印内核名称(例如:Linux, Darwin)。这是默认选项
-n--nodename打印网络节点的主机名(即本机在网络中的名称)
-r--kernel-release打印内核的发布版本(例如:5.4.0-42-generic)
-v--kernel-version打印内核的版本信息,通常包含编译日期和时间等详细信息
-m--machine打印机器硬件名称(即系统架构,例如:x86_64, arm64)
-p--processor打印处理器类型。注意:在某些系统上,此信息可能不可用或与-m输出相同
-i--hardware-platform打印硬件平台名称。注意:此信息并非在所有系统上都可用
-o--operating-system打印操作系统名称(例如:GNU/Linux)
--help显示此命令的帮助信息并退出
--version显示 uname 命令的版本信息并退出

输出顺序说明:当使用-a选项或指定了多个选项时,输出的信息字段默认按以下顺序排列:内核名称 主机名称 内核release 内核版本 机器名称 处理器 硬件平台 操作系统

4. 示例用法

示例 1:查看内核名称(默认行为)

bash

运行

$ uname Linux

这等同于执行uname -s

示例 2:查看所有系统信息

bash

运行

$ uname -a Linux myserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

输出依次为:内核名、主机名、内核发布版本、内核版本、机器硬件名、处理器类型、硬件平台、操作系统。

示例 3:分别查看各项信息

bash

运行

# 查看系统架构 $ uname -m x86_64 # 查看主机名 $ uname -n myserver # 查看内核发布版本 $ uname -r 5.4.0-42-generic # 查看内核名称 $ uname -s Linux # 查看内核版本详情 $ uname -v #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 # 查看处理器类型 $ uname -p x86_64 # 查看硬件平台(可能与架构相同) $ uname -i x86_64 # 查看操作系统名称 $ uname -o GNU/Linux

示例 4:组合多个选项

bash

运行

$ uname -snrv Linux myserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020

此命令组合了内核名 (-s)、主机名 (-n)、内核发布版本 (-r) 和内核版本 (-v)。

示例 5:脚本中跨平台判断

bash

运行

if [ "$(uname)" = "Linux" ]; then echo "This is a Linux system." elif [ "$(uname)" = "Darwin" ]; then echo "This is a macOS system." fi

5. 注意事项

  • 信息可用性:选项-p(处理器) 和-i(硬件平台) 输出的信息高度依赖于底层系统。在某些系统(如某些 Linux 发行版或 macOS)上,这些信息可能无法获取,或者其输出与-m(机器硬件名) 完全相同。使用-a选项时,如果这些信息未知,则会被自动省略。
  • 返回值uname命令执行成功时返回0,失败时返回非零值。失败情况较少见,通常与参数错误或系统环境异常有关。
  • 获取更多帮助
    • 可以通过man uname查看完整的手册页。
    • 作为 GNU coreutils 的一部分,也可以通过info coreutils 'uname invocation'命令查看更详细的 Info 文档。
  • hostname命令的区别uname -n输出的 “节点名” 通常与hostname命令的输出相同,但hostname命令提供了更多设置和查看主机名相关信息的选项。

获取更多Linux学习资料请关注“阿成学长工具包”公众号,对话框中输入2647获取

http://www.jsqmd.com/news/491861/

相关文章:

  • Python全栈入门到实战【基础篇 23】函数式编程:高阶函数与匿名函数
  • 中断很难?看完这篇就懂了
  • Claude code安装/CC switch安装
  • 伟伦定制工厂店
  • 医疗HIS系统Java如何通过控件优化病历图片文件夹的浏览器端分片加密断传?
  • 315严选好锅:京尚纯陶瓷锅具,健康看得见
  • 基于Spring Boot的高校二手市场交易系统设计与实现vue3
  • 2026大专财富管理毕业生面临的岗位饱和问题及数据分析技能的应对策略
  • COMSOL太赫兹超表面BIC与能带折叠
  • 57.状态机的几种实现方式
  • sqlmap 魔改研究 —— 从流量特征到 WAF 对抗
  • 这个PSO优化BP神经网络的骚操作有点东西啊!咱们今天不整那些虚头巴脑的理论推导,直接手撕代码看看这玩意儿到底怎么玩的
  • 【认识-掌握】Elasticsearch的用法
  • 2026江苏装修装饰/整装/家装/全包装修装饰二手房装修公司实力公司推荐 - 2026年企业推荐榜
  • RocketMQ 高频面试题
  • 2026年打造品牌AI标签,用触有数据提炼“高效、可靠、性价比”印象!
  • 2026年上海松江泗泾学画TOP5机构,哪家才是靠谱之选?
  • Activiti7(流程变量+网关)
  • 程序员生存图鉴2026:技术深耕、职业破局与可持续发展
  • 1126b移植SE8025T
  • NodePy 自动化办公节点包:零代码实现办公自动化
  • day114(3.16)——leetcode面试经典150
  • QtScrcpy官网下载与使用教程:安卓投屏神器完全指南(2026最新版) - xiema
  • FX5U PLC数据类型详解
  • 基于SpringBoot的幼儿园管理系统
  • springboot基于微信小程序的摄影作品分享交流平台设计与实现
  • 大模型基础
  • 网关核心功能全解析
  • python django框架开发实践
  • 开理发店3年,我最后还是关掉了那个“前台”