摘要: 本教程将介绍 Node.js 的 os
模块,该模块允许你执行与操作系统相关的活动。
Node.js 操作系统模块介绍
要使用 os
模块,你需要像这样包含它
const os = require('os');
Code language: JavaScript (javascript)
或
import os from 'os';
Code language: JavaScript (javascript)
os
模块为与操作系统和服务器交互提供了许多有用的属性和方法。
例如,os.EOL
属性返回平台特定的行尾标记。
os.EOL
属性在 Windows 上返回 \r\n
,在 Linux 或 macOS 上返回 \n
。
获取当前操作系统信息
os
模块为你提供了一些有用的方法来检索服务器的操作系统。例如
import os from 'os';
let currentOS = {
name: os.type(),
architecture: os.arch(),
platform: os.platform(),
release: os.release(),
version: os.version(),
};
console.log(currentOS);
Code language: JavaScript (javascript)
输出
{
name: 'Windows_NT',
architecture: 'x64',
platform: 'win32',
release: '10.0.18362',
version: 'Windows 10 Pro'
}
Code language: JavaScript (javascript)
检查服务器运行时间
os.uptime()
方法返回以秒为单位的系统运行时间。例如
import os from 'os';
console.log(`The server has been up for ${os.uptime()} seconds.`);
Code language: JavaScript (javascript)
输出
The server has been up for 44203 seconds.
Code language: JavaScript (javascript)
获取当前用户信息
os.userInfo()
方法返回有关当前用户的的信息
import os from 'os';
console.log(os.userInfo());
Code language: JavaScript (javascript)
输出
{
uid: -1,
gid: -1,
username: 'john',
homedir: 'C:\\Users\\john',
shell: null
}
Code language: JavaScript (javascript)
获取服务器硬件信息
os.totalmem()
方法返回服务器的总内存(以字节为单位)
import os from 'os';
let totalMem = os.totalmem();
console.log(totalMem);
Code language: JavaScript (javascript)
输出
8464977920
Code language: JavaScript (javascript)
要获取以字节为单位的可用内存量,可以使用 os.freemem()
方法
import os from 'os';
let freeMem = os.freemem();
console.log(freeMem);
Code language: JavaScript (javascript)
输出
1535258624
Code language: JavaScript (javascript)
要获取 CPU 信息,可以使用 os.cpus()
方法
os.cpus();
Code language: JavaScript (javascript)
以下示例显示了服务器 CPU 的型号和速度
const { model, speed } = os.cpus()[0];
console.log(`Model: ${model}`);
console.log(`Speed (MHz): ${speed}`);
Code language: JavaScript (javascript)
检索网络接口信息
os.networkInterfaces()
方法返回一个包含网络接口信息的的对象。
返回的对象中的每个键都标识一个网络接口
import os from 'os';
console.log(os.networkInterfaces());
Code language: JavaScript (javascript)
输出
{
'Wi-Fi': [
{
address: '192.168.102.3',
netmask: '255.255.255.0',
family: 'IPv4',
mac: '4a:cc:93:5d:f3:19',
internal: false,
cidr: '192.168.102.3/24'
}
],
'Loopback Pseudo-Interface 1': [
{
address: '::1',
netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
family: 'IPv6',
mac: '00:00:00:00:00:00',
internal: true,
cidr: '::1/128',
scopeid: 0
},
{
address: '127.0.0.1',
netmask: '255.0.0.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true,
cidr: '127.0.0.1/8'
}
]
}
Code language: JavaScript (javascript)
在本教程中,你学习了 Node.js os 模块的一些属性和方法,用于与操作系统进行交互。
本教程对您有帮助吗?