هنگامی که ما با سیستمعامل سرو کار داریم، ماژول OS بسیار میتواند برای ما مفید واقع شود. برای دسترسی به این ماژول کافی است از کد زیر استفاده نماییم.
var os = require('os');
()os.cpus
این متد برای زمانی به کار میآید که قصد داریم اطلاعات مهمی در مورد cpu و هستههای نصب شده بر روی سیستمعامل به دست آوریم. دقت کنید که مقدار بازگشتی این متد، یک array
است.
به قطعه کد زیر توجه نمایید:
//Name of the file : cpus.js var os = require('os'); var value = os.cpus(); console.log("os.cpus() ==> " + JSON.stringify(value) );
تصویر زیر، نتیجه اجرای قطعه کد بالا را به نمایش درآورده است:
به این نکته توجه کنید که در خروجی بالا مقدار nice برابر با صفر شده است زیرا این پارامتر مخصوص به unix است
در واقع تصویر بالا، یک خروجی گرفته شده از سیستمعامل windows است.
()os.arch
این متد برای ما نوع معماری CPU سیستمعامل را برمیگرداند. مقادیر که از این متد بازمیگرداند، عبارت است از: arm ‘، arm64، ia32، mips، mipsel، ppc، ppc64، s390، s390x، x32، x64 و’ x86 ‘.
دقت کنید که این متد، یک مقدار از نوع String
را به عنوان خروجی، باز می گرداند.
قطعه کد زیر را مشاهده بفرمایید:
//Name of the file: arch.js var os = require('os'); var value = os.arch(); console.log("os.arch() ==> " + value);
حالا ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.endianness
از این متد برای به دست آوردن نوع به کار رفته Endianness در cpu استفاده میشود. بعد از به دست آوردن Endianness، با توجه به آن میتوان کدهای node.js را کامپایل کرد. (Endianness به ترتیبِ بایتها در هنگام ذخیره کردن در یک فایل یا انتقال از طریق لینکهای دیجیتال اشاره میکند؛ این مفهوم در دو فرمت Big-endian و Little-endian به کار میرود).
مقادیری که این متد بازگشت میدهد به شرح زیر است:
- BE: این مقدار زمانی برگشت داده میشود که Endianness بر روی Big-endian تنظیم شده باشد.
- LE: این مقدار زمانی برگشت داده میشود که Endianness بر روی Little-endian تنظیم شده باشد.
در واقع خروجی این متد از نوع String
است. شما میتوانید قطعه کد زیر را به عنوان مثال از این متد مشاهده کنید:
//Name of the file: endianness.js var os = require('os'); var value = os.endianness(); console.log("os.endianness() => " + value);
حالا ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.freemem
از این متد برای به دست آوردن مقدار بایتهای آزاد حافظه سیستم استفاده میشود. خروجی این متد از نوع Integer
است. قطعه کد زیر را مشاهده کنید.
//Name of the file: freemem.js var os = require('os'); var value = os.freemem(); console.log("os.freemem() => " + value);
ما میتوانیم قطعه کد بالا را به روش زیر اجرا کنیم:
()os.hostname
این متد برای به دست آوردن hostname سیستمعامل مورد استفاده قرار میگیرد (دقت کنید که hostname، نامی هست که هنگام نصب سیستمعامل، برای سیستمعامل انتخاب میکنیم). دقت کنید که خروجی این متد از نوع String
است. حالا قطعه کد زیر را مشاهده کنید.
//Name of the file: hostname.js var os = require('os'); var value = os.hostname(); console.log("os.hostname() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.homedir
این متد برای دریافت دایرکتوری فعلی کاربر (دقت کنید که دایرکتوری به سلسله مراتب فایلها/فولدرها تا یک فایل/فولدر خاص اشاره دارد) مورد استفاده قرار میگیرد. مقدار بازگشتی این متد، از نوع String
است. مثال قطعه کد زیر را مشاهده نمایید.
//Name of the file: homedir.js var os = require('os'); var value = os.homedir(); console.log("os.homedir() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.platform
این متد برای به دست آوردن نوع پلت فرم سیستمعامل تنظیم شده و در هنگام کامپایل کردن node.js
، استفاده میشود. این متد مقادیر زیر را بازگشت میدهد:
- win32
- aix
- freebsd
- linux
- openbsd
- darwin
- sunos
این متد یک مقدار از نوع String
را بر میگرداند. به قطعه کد زیر دقت کنید.
//Name of the file: platform.js var os = require('os'); var value = os.platform(); console.log("os.platform() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
توجه داشته باشید که خروجی کد فوق، پلت فرم سیستمعامل را در زمان کامپایل node.js
تعیین میکند.
()os.release
با استفاده از این متد ما میتوانیم شماره نسخه (ورژن) پلتفرم سیستمعامل نصب شده را به دست آوریم. دقت کنید که خروجی متد بالا، مقداری از نوع String
دارد. قطعه کد زیر را مشاهده بفرمایید.
//Name of the file: release.js var os = require('os'); var value = os.release(); console.log("os.release() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.tmpdir
این متد برای دریافت دایرکتوری پیشفرض فایلهای موقت، در سیستم عامل، مورد استفاده قرار میگیرد. خروجی این متد، یک مقدار از نوع String
است. قطعه کد زیر را مشاهده کنید.
//Name of the file: tmpdir.js var os = require('os'); var value = os.tmpdir(); console.log("os.tmpdir() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.totalmem
با استفاده از این متد ما میتوانیم مقدار کل حافظه سیستم را به صورت بایت، به دست آوریم. دقت کنید که خروجی این متد، مقداری از نوع Integer
دارد. قطعه کد زیر را مشاهده بفرمایید.
//Name of the file: totalmem.js var os = require('os'); var value = os.totalmem(); console.log("os.totalmem() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.uptime
این متد به ما نشان میدهد که سیستمعامل چند ثانیه پیش بهروزرسانی شده است. دقت کنید که خروجی این متد، مقداری از نوع Integer
دارد. قطعه کد زیر را مشاهده بفرمایید.
//Name of the file: uptime.js var os = require('os'); var value = os.uptime(); console.log("os.uptime() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
()os.type
این متد نام سیستمعامل به صورت Uname برمیگرداند و مقادیر که برگشت داده میشوند معمولاً نامهای زیر هستند:
- Windows_NT: برای ویندوز
- Linux: برای لینوکس
- debian: برای سیستمعامل MacOS
خروجی این متد، مقداری از نوع String
دارد. قطعه کد زیر را مشاهده بفرمایید.
//Name of the file: type.js var os = require('os'); var value = os.type(); console.log("os.type() => " + value);
ما میتوانیم آن را به روش زیر اجرا کنیم:
خلاصه
در درس 26ام از سلسله دروس 30 روز با نود جی اس، درباره ماژول os که یکی از ماژولهای node.js است و با آن میتوان اطلاعات زیادی در مورد سیستمعامل مورد استفاده به دست آورد، مطالبی زیادی را آموختیم.
در این قسمت درباره متدهای زیر با ارائه مثالهای کد نویسی، اطلاعات زیادی را یاد گرفتیم.
- os.cpus()
- os.arch()
- os.endianness()
- os.freemem()
- os.hostname()
- os.homedir()
- os.platform()
- os.release()
- os.tmpdir()
- os.totalmem()
- os.uptime()
- os.type()