赞
踩
Node.js 的 os
模块提供了与操作系统交互的功能,包括获取系统信息、检测系统资源等。这是一个内置模块,不需要额外安装。下面我将详细介绍 os
模块的一些常用方法及其用法。
无需安装,直接在 Node.js 项目中使用即可。
os
模块const os = require('os');
os
模块常用方法os.arch()
获取操作系统的架构。
console.log(os.arch()); // 输出如 "x64", "arm64" 等
os.platform()
获取操作系统的名称。
console.log(os.platform()); // 输出如 "linux", "darwin" (macOS), "win32" 等
os.type()
获取操作系统类型。
console.log(os.type()); // 输出如 "Linux", "Darwin", "Windows_NT" 等
os.release()
获取操作系统的发行版本号。
console.log(os.release()); // 输出如 "10.15.7" (macOS Catalina)
os.homedir()
获取用户的家目录路径。
console.log(os.homedir()); // 输出如 "/Users/username" (macOS) 或 "C:\\Users\\username" (Windows)
os.hostname()
获取主机名。
console.log(os.hostname()); // 输出如 "my-computer"
os.tmpdir()
获取临时文件目录。
console.log(os.tmpdir()); // 输出如 "/private/tmp" (macOS) 或 "C:\\Windows\\Temp" (Windows)
os.uptime()
获取系统运行时间(秒数)。
console.log(os.uptime()); // 输出如 12345.678
os.loadavg()
获取最近一段时间的系统平均负载。
console.log(os.loadavg()); // 输出如 [1.5, 1.2, 1.0] 表示过去 1、5、15 分钟的平均负载
os.totalmem()
获取系统总内存大小(字节)。
console.log(os.totalmem()); // 输出如 17179869184 (16 GB)
os.freemem()
获取系统可用内存大小(字节)。
console.log(os.freemem()); // 输出如 8589934592 (8 GB)
os.cpus()
获取系统 CPU 信息。
const cpus = os.cpus();
cpus.forEach(cpu => {
console.log(cpu.model); // 输出如 "Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz"
console.log(cpu.speed); // 输出如 2600 (MHz)
});
os.networkInterfaces()
获取网络接口信息。
const interfaces = os.networkInterfaces();
Object.keys(interfaces).forEach(iface => {
console.log(`Interface: ${iface}`);
interfaces[iface].forEach(details => {
console.log(` Address: ${details.address}, Netmask: ${details.netmask}, Family: ${details.family}`);
});
});
os.EOL
获取当前操作系统的换行符。
console.log(os.EOL); // 输出如 "\n" (Unix) 或 "\r\n" (Windows)
下面是一个示例脚本,它使用 os
模块打印出一些基本的系统信息。
const os = require('os'); console.log(`Operating System: ${os.type()} ${os.release()} (${os.arch()})`); console.log(`Hostname: ${os.hostname()}`); console.log(`Uptime: ${os.uptime()} seconds`); console.log(`Total Memory: ${os.totalmem()} bytes`); console.log(`Free Memory: ${os.freemem()} bytes`); console.log(`Load Averages: ${os.loadavg().join(', ')}`); const cpus = os.cpus(); console.log(`Number of CPUs: ${cpus.length}`); cpus.forEach(cpu => { console.log(` Model: ${cpu.model}`); console.log(` Speed: ${cpu.speed} MHz`); }); const interfaces = os.networkInterfaces(); Object.keys(interfaces).forEach(iface => { console.log(`Interface: ${iface}`); interfaces[iface].forEach(details => { console.log(` Address: ${details.address}, Netmask: ${details.netmask}, Family: ${details.family}`); }); });
os
模块提供了很多有用的方法来获取关于操作系统的各种信息。这些信息对于调试、监控和适应不同的运行环境都非常有用。如果你需要进一步的信息或者有其他问题,请随时告诉我!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。