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

Linux 命令:uname

Linux uname 命令详细教程

  • uname(Unix Name)是 Linux 系统中用于获取系统基本信息的基础命令。它能快速展示操作系统、内核、主机名等关键信息,是系统诊断和环境确认的常用工具。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
uname [选项]
  • 核心功能
    • 默认只显示操作系统名称(如 Linux)。
    • 通过选项可获取更详细的系统信息。
二、常用选项
选项功能描述
-a显示所有信息(A ll),等价于 -s -n -r -v -m
-s显示内核名称(S ystem name),默认选项
-n显示网络节点主机名(N etwork node hostname)
-r显示内核发行版本(R elease)
-v显示内核版本信息(V ersion)
-m显示硬件架构(M achine)
-p显示处理器类型(P rocessor)
-i显示硬件平台(I nformation)
-o显示操作系统类型(O perating system)
三、实际操作示例
1. 显示所有系统信息(最常用)
uname -a  # 输出示例:
# Linux myhost 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
2. 显示内核名称
uname -s  # 输出:Linux
3. 显示主机名
uname -n  # 输出:myhost
4. 显示内核版本
uname -r  # 输出:5.15.0-78-generic
5. 显示硬件架构
uname -m  # 输出:x86_64(64位系统)或 i686(32位系统)
6. 组合选项
uname -snr  # 输出:Linux myhost 5.15.0-78-generic
四、特殊场景与注意事项
1. 与其他命令对比
命令功能适用场景
uname -n显示主机名快速查看当前主机名称
hostname显示/设置主机名修改主机名或获取完整域名(FQDN)
cat /proc/version显示内核编译信息查看内核编译时的详细参数
lsb_release -a显示发行版信息获取 Linux 发行版的具体版本(如 Ubuntu 22.04)
2. 跨平台兼容性
  • uname 是 Unix/Linux 通用命令,在 macOS、FreeBSD 等系统上同样可用。
  • 输出格式可能略有差异(如 macOS 显示 Darwin 作为内核名称)。
3. -p-i 选项的局限性
  • 在某些系统上,-p-i 可能返回 unknown,因为内核未提供这些信息。
  • 推荐使用 -m 选项获取硬件架构,更可靠。
五、扩展应用场景
1. 脚本中判断系统类型
if [ "$(uname)" == "Linux" ]; thenecho "This is a Linux system."
elif [ "$(uname)" == "Darwin" ]; thenecho "This is a macOS system."
elseecho "Unknown system: $(uname)"
fi
2. 获取系统信息用于日志
echo "System info: $(uname -a)" >> system_log.txt
3. 区分 32 位/64 位系统
if [ "$(uname -m)" == "x86_64" ]; thenecho "64-bit system"
elseecho "32-bit system"
fi
六、总结

uname 是 Linux 系统中最简单但实用的信息查询工具,核心用法可总结为:

  • 查看完整系统信息uname -a
  • 查看内核版本uname -r
  • 查看主机名uname -n
  • 查看硬件架构uname -m

在脚本编写、系统监控或环境确认时,uname 能快速提供关键信息,帮助判断系统环境和执行条件分支。

http://www.dtcms.com/a/282591.html

相关文章:

  • Scalefusion 与 EasyControl 对比:轻量级方案与全功能 IoT MDM 的深度碰撞
  • 前端面试题(HTML、CSS、JavaScript)
  • 在此处打开 powershell 窗口 shift + 右键 修改为 右键弹出
  • [硬件电路-28]:从简单到复杂:宇宙、芯片与虚拟世界的共通逻辑2
  • 1软件工程概念及其基本要素-思考题
  • Netty介绍和基本代码演示
  • 基于渐进式迁移学习网络(PTLN)​的小样本故障诊断模型
  • STM32CubeMX红外收发模块(串口)
  • H3CNE综合实验之五角星
  • 了解linux用户和权限
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】
  • springboot项目部署到K8S
  • Golang 并发快速上手
  • SingLoRA:单矩阵架构减半参数量,让大模型微调更稳定高效
  • ​HAProxy负载均衡集群概述
  • 逆向入门(39、40)程序逆向篇-DaNiEl-RJ.1、genocide1
  • 基于SSE传输的MCP服务器实现
  • LVS集群实践
  • 使用CodeQL挖掘Spring中的大量赋值漏洞
  • 行为模式-策略模式
  • 华大北斗TAU1201-1216A00高精度双频GNSS定位模块 自动驾驶专用
  • AWS IAM 最佳安全实践通用指南
  • 从 “洗澡难” 到 “洗得爽”:便携智能洗浴机如何重塑生活?
  • 微服务架构升级:从Dubbo到SpringCloud的技术演进
  • 浏览器自动化方案
  • 创客匠人解析:系统化工具如何重构知识变现效率
  • 在 kubernetes 上安装 jenkins
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十九课——图像拉普拉斯金字塔的FPGA实现
  • Image 和 IMU 时间戳同步
  • 事务~~~