Linux 命令行查看 Linux 系统版本171
了解 Linux 系统的版本对于管理和维护至关重要。Linux 中有各种命令可用于查看系统版本,每个命令提供不同的信息级别。以下是几个最常用的命令及其用法:
1. uname
用法: uname [-a | -m | -n | -r | -s | -v]
描述: uname 命令显示有关系统内核的各种信息,包括版本。```
$ uname -a
Linux hostname 5.15.0-52-generic #53-Ubuntu SMP Mon Oct 17 17:36:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
```
输出解释:* Linux: 操作系统内核类型
* hostname: 系统的主机名
* 5.15.0-52-generic: 内核版本
* #53-Ubuntu: 内核版本构建号和发行版名称
* SMP: 对称多处理支持
* Oct 17 17:36:07 UTC 2022: 内核编译日期和时间
* x86_64: 系统架构
* GNU/Linux: 操作系统类型
2. lsb_release
用法: lsb_release [-a | -d | -i | -r | -s | -v]
描述: lsb_release 命令显示有关 Linux 标准基础 (LSB) 版本的信息。```
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
```
输出解释:* LSB 版本: LSB 内核版本
* Distributor ID: 发行版名称
* Description: 发行版描述
* Release: 发行版版本
* Codename: 发行版的代号
3. cat /proc/version
用法: cat /proc/version
描述: /proc/version 文件包含有关系统内核的详细版本信息。```
$ cat /proc/version
Linux version 5.15.0-52-generic (buildd@lgw03-amd64-027) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils) 2.38) #53-Ubuntu SMP Mon Oct 17 17:36:07 UTC 2022
```
输出与 uname -a 命令类似,但更详细,包括:* 发行版构建信息(buildd@lgw03-amd64-027):
* 编译器信息(gcc):
4. hostnamectl
用法: hostnamectl [-a | -f | -P | -s | -V]
描述: hostnamectl 命令显示有关系统主机名和相关的版本信息。```
$ hostnamectl
Static hostname: hostname
Icon name: computer-laptop
Chassis: laptop
Machine ID: 18d819c2d2f741edac43b453c1c70d87
Boot ID: a6fbaca9a1d9456a8703320fb3f4f83b
Operating System: Ubuntu 22.04.1 LTS
Kernel: Linux 5.15.0-52-generic
Architecture: x86-64
```
输出解释:* Static hostname: 系统的主机名
* Operating System: 发行版名称和版本
* Kernel: 内核版本
5. /etc/os-release
描述: /etc/os-release 文件包含有关系统发行版的元数据,包括版本信息。
查看文件内容:```
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.1 LTS"
VERSION_ID="22.04"
HOME_URL="/"
SUPPORT_URL="/"
BUG_REPORT_URL="/ubuntu/"
PRIVACY_POLICY_URL="/legal/terms-and-conditions"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
```
通过 shell 脚本解析文件内容:```
#!/bin/bash
# Parse /etc/os-release file for system version information
# Read file contents into a variable
os_release_contents=$(cat /etc/os-release)
# Extract NAME and VERSION fields using regular expressions
name=$(echo "$os_release_contents" | grep -oP '(?
2025-01-17