簡體   English   中英

如何用 JavaScript 計算 Linux 上的可用磁盤空間?

[英]How do I calculate free disk space on Linux in JavaScript?

我想計算並顯示家庭文件系統的可用空間,但有 3-4 個用戶,而且都應該在 javascript 中,我們該怎么辦?

我知道在 linux shell 中,我們可以這樣做:

df -h

但在 javascript 中它不是

節點磁盤使用將執行此操作。

復制他們的示例代碼:

#!/usr/bin/env node
var disk = require('diskusage');

// get disk usage. Takes mount point as first parameter
disk.check('/', function(err, info) {
    console.log(info.free);
    console.log(info.total);
});

當然,您需要安裝 node(如果您還沒有它)並從 npm 獲取node-diskfree包。

編輯:切換到跨平台包,在所有操作系統上運行並且不抓取命令行工具。

您使用的是什么 JavaScript 環境? NodeJS 有一個 childprocess 模塊,您可以使用它來生成 df 命令,有關更多詳細信息,請參閱http://nodejs.org/api/child_process.html

我想您不會在基於瀏覽器的 JavaScript 沙箱中嘗試此操作。

您可以通過運行命令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)

無恥的插件 - https://www.npmjs.com/package/microstats

也可以配置為在磁盤空間超過用戶定義的閾值時提醒用戶。 適用於 linux、macOS 和 windows。

您可以使用 diskusage npm 和 child_process.exec('df / -h') 來獲取此參數。 但 diskusage npm 更可靠且易於使用。 如果您使用 cp.exec('...') 您應該自己處理返回的字符串以檢索所需的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM