使用Python查找Linux系统详细信息
Python是流行的编程语言之一,它默认预先安装了许多Linux操作系统。
我们是否知道我们可以使用Python找到有关Linux系统的信息?
是的!此简要介绍说明如何使用Python找到Linux系统详细信息。
Python有模块命名平台,允许我们查找各种系统信息,如操作系统版本,分发名称,机器架构,内核,操作系统代码名称,Python版本等。
使用Python查找Linux系统详细信息
如上所述,大多数Linux发行版默认情况下与Python一起填写。
如果未安装,则可以使用分发的包管理器安装它。
其中我包含在某些Linux发行版上安装最新的Python 3.6.x版本的步骤。
关于Arch Linux及其变体:
$sudo pacman -S python
关于Fedora:
$sudo dnf install python36
在CentOS 7上,我们可以从IUM(内联稳定)存储库中安装Python 3.6,如下所示。
$sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$sudo yum install python36u
Ubuntu 17.10和较新版本,默认情况下Python 3.6可用。
所以不要打扰安装。
在Ubuntu 16.10和17.04上,Python3可在[Universe]存储库中使用。
确保已启用[Universe]存储库并安装Python 3.6,如下所示。
$sudo add-apt-repository universe $sudo apt-get install python3.6
在Ubuntu 14.04或者16.04上,Universe存储库中不可用Python 3.
因此,使用以下PPA安装Python 3.
$sudo add-apt-repository ppa:deadsnakes/ppa $sudo apt-get update $sudo apt-get install python3.6
安装Python后,使用命令查看其版本:
$python3 --version
或者,
$python3.6 -V
我们可能会看到下面的输出。
Python 3.6.8
现在是时候找到了我们正在运行的操作系统。
显示OS名称,版本和代码名称:
$python3 -c 'import platform; print(platform.linux_distribution())'
如果系统上有Python 2.x,只需使用:
$python -c 'import platform; print(platform.linux_distribution())'
Ubuntu 18.04桌面的示例输出:
('Ubuntu', '18.04', 'bionic')
显示机器架构:
$python3 -c 'import platform; print(platform.architecture())' ('64bit', 'ELF')
显示机器类型:
$python3 -c 'import platform; print(platform.machine())' x86_64
显示计算机的网络名称:
$python3 -c 'import platform; print(platform.node())' theitroad
显示底层平台:
$python3 -c 'import platform; print(platform.platform())' Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
显示处理器的名称:
$python3 -c 'import platform; print(platform.processor())' x86_64
显示系统的发布详细信息:
$python3 -c 'import platform; print(platform.release())' 5.0.0-32-generic
显示系统/OS名称:
$python3 -c 'import platform; print(platform.system())' Linux
显示系统的发布版本:
$python3 -c 'import platform; print(platform.version())' #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019
显示所有详细信息,例如系统,节点,释放,版本,计算机和处理器
$python3 -c 'import platform; print(platform.uname())' uname_result(system='Linux', node='theitroad', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64')
它相当于"uname -a"命令。
就像我之前已经提到过的一样,我们也可以获得已安装的Python版本。
对于Python 2.x,运行:
$python -c 'import platform; print(platform.python_version())' 2.7.15+
对于Python 3.x:
$python3 -c 'import platform; print(platform.python_version())' 3.6.8
创建简单的Python脚本以显示Linux系统详细信息
我们可以创建一个简单的Python脚本来通过将所有功能放在文本文件中,在文本文件中将所有功能放在文本文件中,然后一次性查看完整详细信息。
让我们创建名为OS_INFO.PY的文本文件:
$nano os_info.py
添加以下行:
import platform print('Uname:', platform.uname()) print() print('Distribution :', platform.linux_distribution()) print('Machine :', platform.machine()) print('Node :', platform.node()) print('Processor :', platform.processor()) print('Release :', platform.release()) print('System :', platform.system()) print('Version :', platform.version()) print('Platform :', platform.platform())
保存并退出文件。
现在运行以下命令以查找Linux系统信息:
$python os_info.py
或者,
$python3 os_info.py
示例输出将是:
Uname: uname_result(system='Linux', node='theitroad', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64') Distribution : ('Ubuntu', '18.04', 'bionic') Machine : x86_64 Node : theitroad Processor : x86_64 Release : 5.0.0-32-generic System : Linux Version : #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 Platform : Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
在Ubuntu 18.04 Desktop Edition上使用Python 3.6.8测试了所有上述命令。
使用Python 3.8.0查找Linux系统详细信息
请注意,自版本3.5以来,Platform.Linux_Distribution()函数已折旧,并且将在3.8中删除。
如果我们使用的是最近的Python版本为3.8.0,则必须使用像发行版相同的替代方案。
我们可以使用pip安装发行版包。
$pip install distro
安装发行版包后,只需运行以下命令即可查找我们正在运行的操作系统:
$distro
示例输出:
Name: Ubuntu 18.04.2 LTS Version: 18.04 (bionic) Codename: bionic
要显示更多详细信息,请使用-j标志:
$distro -j
示例输出:
{ "codename": "bionic", "id": "ubuntu", "like": "debian", "version": "18.04", "version_parts": { "build_number": "", "major": "18", "minor": "04" } }