nodejs编写一个shell脚本可以打印服务器的cpu,内存,ip地址,等等信息
时间: 2023-05-16 17:07:11 浏览: 68
可以使用以下代码实现:
```javascript
const os = require('os');
console.log('CPU信息:');
console.log(os.cpus());
console.log('内存信息:');
console.log(os.totalmem() / 1024 / 1024 + 'MB');
console.log('IP地址:');
const interfaces = os.networkInterfaces();
for (const devName in interfaces) {
const iface = interfaces[devName];
for (let i = 0; i < iface.length; i++) {
const alias = iface[i];
if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
console.log(alias.address);
}
}
}
```
这段代码使用了Node.js内置的os模块,可以获取CPU信息、内存信息和IP地址。
相关问题
用nodejs编写建立一个服务器程序
好的,以下是使用Node.js编写建立一个服务器程序的简单步骤:
1. 首先,打开命令行或终端,并创建一个新文件夹用于存放代码。使用以下命令创建新文件夹:
```
mkdir my-server
```
2. 进入新文件夹,并使用以下命令初始化一个新的Node.js项目:
```
cd my-server
npm init -y
```
3. 安装Express,这是一个常用的用于创建Web应用程序的Node.js框架。在命令行中输入以下命令来安装Express:
```
npm install express
```
4. 创建一个新的JavaScript文件,并将其命名为“server.js”。在文件中,导入Express模块并创建一个新的服务器实例,如下所示:
```javascript
const express = require('express')
const app = express()
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
```
5. 运行服务器程序。在命令行中输入以下命令来启动服务器:
```
node server.js
```
6. 在浏览器中访问http://localhost:3000,你应该能够看到一个简单的“Hello World”消息。
这只是一个简单的示例,你可以在此基础上添加更多的路由和中间件来创建一个完整的Web应用程序。
用nodejs写一个网页显示当前局域网的所有ip地址
可以使用 Node.js 的 `os` 和 `net` 模块来实现获取局域网中所有 IP 地址的功能。具体步骤如下:
1. 获取当前主机的 IP 地址,可以使用 `os` 模块中的 `networkInterfaces` 方法获取,然后筛选出 IPv4 类型的地址;
2. 遍历当前主机所在的子网中的所有 IP 地址,可以使用 `net` 模块中的 `createServer` 方法创建一个服务,监听指定的端口,然后遍历该端口所在的子网中的所有 IP 地址,如果能够连接到该端口,则说明该 IP 地址是可用的。
下面是代码实现:
```javascript
const os = require('os');
const net = require('net');
// 获取本机 IPv4 地址
function getLocalIP() {
const interfaces = os.networkInterfaces();
for (let key in interfaces) {
const iface = interfaces[key];
for (let i = 0; i < iface.length; i++) {
const { address, family, internal } = iface[i];
if (family === 'IPv4' && !internal) {
return address;
}
}
}
}
// 获取指定子网中所有 IP 地址
function getSubnetIPs(subnet) {
const ips = [];
const server = net.createServer();
server.on('listening', function() {
server.close();
const address = server.address();
const [, mask] = subnet.split('/');
const ipNumber = ipToNumber(address.address);
const maskNumber = 0xffffffff << (32 - mask);
for (let i = 1; i < maskNumber; i++) {
const ip = numberToIP(ipNumber | i);
ips.push(ip);
}
});
server.listen(0, subnet);
return new Promise(resolve => {
server.on('close', () => {
resolve(ips);
});
});
}
// IP 地址转数字
function ipToNumber(ip) {
return ip.split('.').reduce((result, item) => {
return (result << 8) + parseInt(item);
}, 0);
}
// 数字转 IP 地址
function numberToIP(number) {
return [
(number >> 24) & 0xff,
(number >> 16) & 0xff,
(number >> 8) & 0xff,
number & 0xff,
].join('.');
}
// 获取本机 IP 地址和子网中所有 IP 地址
async function getAllIPs() {
const localIP = getLocalIP();
const subnet = localIP.replace(/\.\d+$/, '.0/24');
const ips = await getSubnetIPs(subnet);
ips.unshift(localIP);
return ips;
}
// 启动一个 HTTP 服务,显示所有 IP 地址
const http = require('http');
http.createServer(function(req, res) {
if (req.url === '/') {
getAllIPs().then(ips => {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<html><body>');
res.write('<h1>Local IPs</h1>');
res.write('<ul>');
ips.forEach(ip => {
res.write(`<li>${ip}</li>`);
});
res.write('</ul>');
res.write('</body></html>');
res.end();
});
} else {
res.writeHead(404);
res.end();
}
}).listen(8080, function() {
console.log('Server is running at http://localhost:8080');
});
```
运行该脚本后,访问 http://localhost:8080 即可显示当前局域网的所有 IP 地址。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)