如何在JavaScript中计算Linux上的空闲磁盘空间
How do I calculate free disk space on Linux in JavaScript?
我想计算和显示家庭文件系统的空闲空间,但是有3-4个用户,并且都应该在javascript中,我们该怎么做?
我知道在linux shell中,我们可以这样做:
df -h
但是在javascript中不是
Node diskusage将执行此操作。有关该软件包的更多信息,请参考diskusage文档:
import { check } from "diskusage";
const log = console.log.bind(console);
async function getFreeSpace(path) {
const diskUsage = await check(path);
log(`Disk space available to the current user: ${diskUsage.free}`);
log(`Disk space physically free: ${diskUsage.free}`);
log(`Total disk space (free + used): ${diskUsage.free}`);
}
getFreeSpace("/home/mike");
NodeJS,在v19.6中,增加了对statfs
和statfsSync
的支持。
import { statfs } from 'fs';
// path in mounted volume
const pathToCheck = '/';
const space = statfs(pathToCheck, (err, stats) => {
if (err) {
throw err
}
console.log('Total free space',stats.bsize*stats.bfree);
console.log('Available for user',stats.bsize*stats.bavail);
})
您使用的是什么JavaScript环境?NodeJS有一个childprocess模块,你可以用它来生成df命令,详见http://nodejs.org/api/child_process.html。
我想您不会在基于浏览器的JavaScript沙箱中尝试此操作。
无耻插头https://www.npmjs.com/package/microstats
还可以配置为在磁盘空间超过用户定义的阈值时提醒用户。适用于linux, macOS和windows。
您可以使用diskusage npm和child_process。执行('df/-h')获取该参数。但是diskusage NPM更可靠,也更易于使用。如果您使用cp.exec('…'),您应该自己处理返回的字符串以检索所需的参数。
执行命令df -h > df.txt
,将df -h
的输出写入名为df.txt
的文件中。然后你可以读取文件并匹配一个正则表达式。
const { execSync } = require('child_process');
const { readFileSync, unlinkSync } = require('fs')
var space;
execSync('df -h > df.txt');
space = readFileSync('df.txt', (data, err) => {
if (err) {
throw err
}
}).toString().match(/[0-9]+'.[0-9]+?../)[0]
console.log(space)
相关文章:
- JavaScript名称空间和对象创建
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 具有大型几何图形的基于沙发的空间查询
- 如何使用javascript命名空间
- JSDoc:模块和名称空间之间的关系是什么
- js命名空间和变量范围
- Javascript-将每个传入的数据直接保存到磁盘
- html,js-如何限制元素"范围“-命名空间
- 动画制作/减缓元素填充移除元素留下的空间
- 转换自的JavaScript命名空间
- 命名空间与自调用函数
- 在IndexedDB中保留空间
- EmberJS-适用于各种模型的适配器动态名称空间
- 在磁盘上做一个JSON文件,当加载到内存中的var中时,会占用相同的空间
- 如何在JavaScript中计算Linux上的空闲磁盘空间
- Service worker如何防止'fetch'避免消耗过多的磁盘空间
- 使用Phonegap,我如何检查剩余的可用磁盘空间
- 节省服务器端的磁盘空间.在浏览器(JS)中解压缩“gz”