在本章中,我们将详细介绍 Node.js 的操作系统模块(os)。这个模块提供了一些基本的操作系统信息和操作方法。通过使用这个模块,你可以获取诸如 CPU 架构、主机名、内存使用情况等信息。
获取主机名
os.hostname() 方法用于获取当前计算机的主机名。
const os = require('os');
console.log(os.hostname()); // 输出: 主机名获取 CPU 信息
os.cpus() 方法返回一个对象数组,每个对象代表一个 CPU 核心的信息。数组中的每个对象包含以下属性:model(CPU型号)、speed(CPU速度,单位为 MHz)和 times(CPU运行时间统计,包括用户模式、系统模式、空闲时间等)。
// www.javascriptcn.com code example
const os = require('os');
console.log(os.cpus());
/*
[
{
model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
speed: 1992,
times: {
user: 214830,
nice: 0,
sys: 27220,
idle: 15236690,
irq: 0
}
},
...
]
*/获取内存信息
os.freemem() 方法返回当前可用的内存量,单位是字节。而 os.totalmem() 方法则返回系统的总内存量。
const os = require('os');
console.log(`自由内存: ${os.freemem()} 字节`);
console.log(`总内存: ${os.totalmem()} 字节`);获取网络接口信息
os.networkInterfaces() 方法返回一个对象,其中每个属性代表一个网络接口。属性值是一个数组,数组中的每个元素都是一个对象,包含该接口的详细信息,例如 IP 地址、MAC 地址等。
// www.javascriptcn.com code example
const os = require('os');
console.log(os.networkInterfaces());
/*
{
en0: [
{
address: '192.168.1.100',
netmask: '255.255.255.0',
family: 'IPv4',
mac: '00:1a:a5:d2:27:28',
internal: false
}
],
lo0: [
{
address: 'fe80::1%lo0',
netmask: 'ffff:ffff:ffff:ffff::',
family: 'IPv6',
scopeid: 1,
internal: true
}
]
}
*/获取操作系统类型
os.type() 方法返回一个字符串,表示当前操作系统的类型。例如,在 Windows 上它会返回 "Windows_NT",而在 Linux 上则会返回 "Linux"。
const os = require('os');
console.log(os.type()); // 输出: 操作系统类型获取操作系统的平台
os.platform() 方法返回一个字符串,表示当前操作系统的平台。例如,对于 Windows 系统,它会返回 "win32";对于 Linux 系统,则会返回 "linux"。
const os = require('os');
console.log(os.platform()); // 输出: 操作系统平台获取操作系统的版本
os.release() 方法返回一个字符串,表示当前操作系统的版本。例如,在 Windows 上,它可能返回 "10.0.19041",而在 Linux 上,它可能返回 "4.15.0-142-generic"。
const os = require('os');
console.log(os.release()); // 输出: 操作系统版本获取用户的主目录
os.homedir() 方法返回一个字符串,表示当前用户的主目录路径。
const os = require('os');
console.log(os.homedir()); // 输出: 用户主目录路径获取操作系统的内核名称
os.arch() 方法返回一个字符串,表示当前操作系统的 CPU 架构。常见的值包括 "x64"(64位架构)和 "ia32"(32位架构)。
const os = require('os');
console.log(os.arch()); // 输出: CPU 架构获取操作系统的默认编码
os.EOL 属性返回一个字符串,表示当前操作系统的行尾符。例如,在 Windows 上,它会返回 "\r\n",而在 Unix 和 Linux 上,则会返回 "\n"。
const os = require('os');
console.log(os.EOL); // 输出: 行尾符获取操作系统的临时文件夹路径
os.tmpdir() 方法返回一个字符串,表示当前操作系统的临时文件夹路径。
const os = require('os');
console.log(os.tmpdir()); // 输出: 临时文件夹路径获取系统启动时间
os.uptime() 方法返回一个数字,表示自系统上次启动以来经过的秒数。
const os = require('os');
console.log(os.uptime()); // 输出: 启动时间(秒)获取系统负载
os.loadavg() 方法返回一个数组,表示过去 1 分钟、5 分钟和 15 分钟的平均负载。
const os = require('os');
console.log(os.loadavg()); // 输出: 平均负载获取环境变量
os.env() 方法可以获取当前环境变量,但是实际上需要使用 process.env 来访问环境变量。
const process = require('process');
console.log(process.env); // 输出: 环境变量以上就是 Node.js 操作系统模块的基本用法。通过这些方法,我们可以轻松地获取各种与操作系统相关的有用信息,从而帮助我们更好地管理和优化我们的应用。