最直接查系统信息用 uname 和 hostname 命令:uname -a 显示完整内核与硬件信息,-r 取内核版本,-m 确认架构,-n 输出主机名;hostname 显示/临时改主机名,-I 列所有 IPv4 地址,-i 反解主机名(依赖 dns)。

查系统信息最直接的方式就是用 uname 和 hostname,两个命令轻量、可靠、无需额外安装,适合日常排查和脚本调用。
uname:一次看清内核和硬件底细
它专为获取操作系统底层信息设计,不依赖配置文件,输出稳定。常用组合如下:
- uname -a:一屏看全——内核名、主机名、内核版本、编译时间、硬件架构、操作系统类型。这是诊断环境兼容性的第一眼依据。
- uname -r:只取内核发行号(如 5.15.0-124-Generic),常用于构建路径或判断驱动支持,比如
/lib/modules/`uname -r`/。 - uname -m:确认硬件平台,x86_64 表示 64 位 Intel/amd,aarch64 表示 64 位 ARM,避免误装架构不匹配的软件包。
- uname -n:显示网络节点名(即当前主机名),比
hostname更底层,不受临时修改影响。
hostname:管名字,也管 IP 显示
它更偏向网络身份管理,操作简单但行为有细节差异:
- 不加参数运行 hostname,输出当前主机名;临时改名只需
hostname newname(重启失效)。 - hostname -I(大写 i):快速列出所有 IPv4 地址,不走 DNS,响应快,适合脚本中取本机服务绑定地址。
- hostname -i(小写 i):尝试反解主机名到 IP,依赖
/etc/hosts或 DNS,慢且可能失败(如未配置时返回 127.0.0.1)。 - 永久改名不能只靠这个命令,得同步更新
/etc/hostname(debian/ubuntu)或/etc/sysconfig/network(旧版 centos),再配合systemctl restart systemd-hostnamed或重启生效。
搭配使用更高效
单独用容易漏关键上下文,组合起来能快速定位问题:
- 查是否是 64 位系统且运行指定内核:
uname -m && uname -r - 确认主机名与实际 IP 是否一致:
hostname && hostname -I - 写部署脚本时安全取值:
echo "Deploying on $(hostname) [$(uname -m)] running kernel $(uname -r)" - 调试网络服务时,先
hostname -I看监听地址,再uname -r判断内核模块可用性。
基本上就这些。不复杂但容易忽略细节,比如 -I 和 -i 的区别、-r 和 -v 的分工、以及 hostname 临时 vs 永久的边界。