一. 基本概述
在 Node.js 中,`os`模块提供了许多与操作系统相关的实用函数和属性。它允许开发者获取有关操作系统的各种信息,如操作系统类型、平台架构、内存使用情况、CPU 信息等,并且可以执行一些与操作系统交互的基本操作。
二. 获取操作系统信息
1. 操作系统类型和版本
1.1 `os.type()`
返回操作系统的名称,例如在 Windows 系统上可能返回`'Windows_NT'`,在 Linux 系统上可能返回`'Linux'`,在 macOS 系统上可能返回`'Darwin'`。
1.2 `os.release()`
返回操作系统的发行版本。例如,对于 Windows 系统可能返回类似`'10.0.19045'`这样的版本号,对于 macOS 可能返回`'21.6.0'`等。
const os = require("os");console.log("操作系统类型:", os.type());console.log("操作系统版本:", os.release());
2. 平台架构相关信息
2.1 `os.arch()`
返回操作系统 CPU 架构,如`'x64'`、`'arm'`或`'ia32'`等。这对于确定软件是否与当前系统架构兼容等情况很有用。
2.2 `os.platform()`
返回运行 Node.js 的操作系统平台,如`'win32'`、`'linux'`、`'darwin'`等。
const os = require("os");console.log("CPU架构:", os.arch());console.log("操作系统平台:", os.platform());
3. 获取系统资源信息
3.1 `os.totalmem()`
返回系统的总内存量(以字节为单位)。
3.2 `os.freemem()`
返回系统的可用内存量(以字节为单位)。
const os = require("os");const totalMemory = os.totalmem();const freeMemory = os.freemem();const usedMemory = totalMemory - freeMemory;const memoryUsageRate = (usedMemory / totalMemory) * 100;console.log(`总内存: ${totalMemory} 字节`);console.log(`可用内存: ${freeMemory} 字节`);console.log(`内存使用率: ${memoryUsageRate}%`);
4. CPU 信息
4.1 `os.cpus()`
返回一个包含有关 CPU 核心信息的对象数组。每个对象包含`model`(CPU 型号)、`speed`(CPU 速度,以 MHz 为单位)等属性。
const os = require("os");const cpus = os.cpus();console.log(`CPU核心数: ${cpus.length}`);cpus.forEach((cpu, index) => {console.log(`CPU核心 ${index + 1} 速度: ${cpu.speed} MHz`);});
三. 系统操作相关函数
1. 获取系统临时目录路径
1.1 `os.tmpdir()`
返回操作系统的临时目录路径。这在需要创建临时文件或存储临时数据时非常有用。
const os = require("os");console.log("临时目录路径:", os.tmpdir());
2. 获取系统的网络接口信息(如 IP 地址等)
2.1 `os.networkInterfaces()`
返回一个包含系统网络接口信息的对象。每个网络接口包含其名称和一个包含网络接口地址信息的数组,这些信息包括 IP 地址、子网掩码等。
const os = require("os");const networkInterfaces = os.networkInterfaces();for (const key in networkInterfaces) {const iface = networkInterfaces[key];for (const alias of iface) {if (alias.family === "IPv4" && alias.address !== "127.0.0.1") {console.log("本地IP地址:", alias.address);}}}