Node.js 操作系统模块

摘要: 本教程将介绍 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)

输出

8464977920Code language: JavaScript (javascript)

要获取以字节为单位的可用内存量,可以使用 os.freemem() 方法

import os from 'os';

let freeMem = os.freemem();
console.log(freeMem);Code language: JavaScript (javascript)

输出

1535258624Code 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 模块的一些属性和方法,用于与操作系统进行交互。

本教程对您有帮助吗?