模式切换
os 操作系统模块
os 操作系统模块
os 模块是 Node.js 提供的一个内置模块,用于提供与操作系统相关的基本信息和操作。它包含了多个方法和属性,可以用于获取系统的内存、CPU、网络、路径等信息,非常适合用来编写与系统状态和资源相关的工具或诊断程序。
要使用 os 模块,只需要引入:
javascript
const os = require('os');1
获取内存相关信息
获取系统剩余内存
使用 os.freemem() 方法可以获取系统剩余内存(单位:字节)。返回值为系统当前空闲的内存量。
用法:
javascriptconst os = require('os'); const freeMemory = os.freemem(); console.log(`系统剩余内存:${freeMemory} 字节`);1
2
3
4
获取系统总内存
使用 os.totalmem() 方法可以获取系统总内存(单位:字节)。返回值为系统的物理内存总量。
用法:
javascriptconst os = require('os'); const totalMemory = os.totalmem(); console.log(`系统总内存:${totalMemory} 字节`);1
2
3
4
获取网络相关信息
os 模块提供了一个 os.networkInterfaces() 方法,用于获取系统的网络接口信息,返回一个对象,包含所有网络接口的详细信息。
用法:
javascriptconst os = require('os'); const networkInterfaces = os.networkInterfaces(); console.log(networkInterfaces);1
2
3
4返回值:
networkInterfaces()返回一个对象,每个属性代表一个网络接口,属性值是一个数组,包含该接口的 IP 地址、子网掩码、MAC 地址等信息。例如:javascript{ eth0: [ { address: '192.168.0.101', netmask: '255.255.255.0', family: 'IPv4', mac: '00:1a:2b:3c:4d:5e', internal: false }, { address: 'fe80::1234:5678:9abc:def0', netmask: 'ffff::', family: 'IPv6', internal: false } ] }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
获取系统相关目录
获取用户家目录
使用 os.homedir() 方法可以获取当前用户的家目录路径。
用法:
javascriptconst os = require('os'); const homeDir = os.homedir(); console.log(`用户家目录:${homeDir}`);1
2
3
4- 返回值为当前用户的家目录路径,例如
/home/user或C:\Users\user。
- 返回值为当前用户的家目录路径,例如
获取临时文件目录
使用 os.tmpdir() 方法可以获取操作系统的临时文件夹路径。
用法:
javascriptconst os = require('os'); const tempDir = os.tmpdir(); console.log(`临时文件目录:${tempDir}`);1
2
3
4- 返回值为操作系统的临时文件夹路径,例如
/tmp(Linux/Unix)或C:\Users\user\AppData\Local\Temp(Windows)。
- 返回值为操作系统的临时文件夹路径,例如
获取系统相关信息
获取操作系统平台
使用 os.platform() 方法可以获取操作系统的平台信息,如 Linux、Darwin(macOS)、Windows 等。
用法:
javascriptconst os = require('os'); const platform = os.platform(); console.log(`操作系统平台:${platform}`);1
2
3
4- 返回值为操作系统平台的字符串,例如:
'linux':Linux 系统'darwin':macOS 系统'win32':Windows 系统
- 返回值为操作系统平台的字符串,例如:
获取操作系统的架构
使用 os.arch() 方法可以获取操作系统的架构信息,通常返回 'x64' 或 'ia32'。
用法:
javascriptconst os = require('os'); const architecture = os.arch(); console.log(`操作系统架构:${architecture}`);1
2
3
4- 返回值为操作系统架构的字符串,例如:
'x64':64 位系统'ia32':32 位系统
- 返回值为操作系统架构的字符串,例如:
获取操作系统的发布版本
使用 os.release() 方法可以获取操作系统的发布版本。
用法:
javascriptconst os = require('os'); const release = os.release(); console.log(`操作系统版本:${release}`);1
2
3
4- 返回值为操作系统的版本号,例如
'5.10.0'。
- 返回值为操作系统的版本号,例如
获取系统的主机名
使用 os.hostname() 方法可以获取操作系统的主机名(即计算机名称)。
用法:
javascriptconst os = require('os'); const hostname = os.hostname(); console.log(`主机名:${hostname}`);1
2
3
4- 返回值为系统的主机名,例如
'my-computer'。
- 返回值为系统的主机名,例如
os 模块常用属性
除了方法外,os 模块还提供了一些常用的常量和属性:
os.EOL
os.EOL 是操作系统的换行符,表示当前系统的行结束符(例如:Linux 使用 \n,Windows 使用 \r\n)。
用法:
javascriptconst os = require('os'); console.log(`当前系统的行结束符:${os.EOL}`);1
2
3
os.uptime()
os.uptime() 返回系统运行的时间,单位为秒。它可以用来获取系统自上次启动以来的运行时间。
用法:
javascriptconst os = require('os'); const uptime = os.uptime(); console.log(`系统已运行:${uptime} 秒`);1
2
3
4
os.cpus()
os.cpus() 返回一个对象数组,每个对象包含一个 CPU 核心的详细信息,包括模型、速度等。
用法:
javascriptconst os = require('os'); const cpus = os.cpus(); console.log(cpus);1
2
3
4- 返回值类似于:
javascript[ { model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz', speed: 1900, times: { user: 100, nice: 0, sys: 200, idle: 400, irq: 0 } }, // 更多的 CPU 核心信息 ]1
2
3
4
5
6
7
8
os.endianness()
os.endianness() 返回系统字节序。常见的返回值是 'BE'(大端)或 'LE'(小端)。
用法:
javascriptconst os = require('os'); const endianness = os.endianness(); console.log(`系统字节序:${endianness}`);1
2
3
4
