模式切换
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