چه مدیر سیستم باشید و چه کاربر میزبان سرور مجازی (VPS)، یادگیری دستورات مختلف لینوکس به شما کمک می کند تا وظایف را با کارایی بیشتری انجام دهید.

در این آموزش، در مورد دستور زمان لینوکس – چیست، هدف و روش استفاده از آن یاد خواهید گرفت.

Linux Time Command چیست؟

فرمان زمان در سیستم عامل های لینوکس و یونیکس مانند به شما امکان می دهد تعیین کنید که اجرای یک فرمان خاص چقدر طول می کشد. معمولاً برای اندازه گیری عملکرد اسکریپت ها یا دستورات استفاده می شود. هرچه یک فرمان سریعتر وظیفه خود را به پایان برساند، عملکرد بهتری دارد.

علاوه بر این، دستور زمان همچنین می تواند میزان استفاده از منابع سیستم را نمایش دهد process، آن را به ابزاری مفید برای بررسی کارایی یک فرمان خاص تبدیل می کند.

به عنوان مثال، شما می خواهید بین دو کار cron که می توانند یک وظیفه را اجرا کنند، یکی را انتخاب کنید. با اجرای دستور time می توانید تعیین کنید که هر کار cron چقدر طول می کشد تا وظایف را کامل کند.

با این حال، قبل از شروع صحبت در مورد روش استفاده از دستور زمان لینوکس، به خاطر داشته باشید که بسته به آن متفاوت است روی پوسته ای که استفاده می کنید سه نسخه مختلف از فرمان زمان در سیستم لینوکس وجود دارد:

  • ضربه شدید – قبلاً در پوسته تعبیه شده است و با تایپ کردن قابل اجرا است زمان.
  • زش مانند Bash، از قبل در سیستم تعبیه شده است و با تایپ کردن اجرا می شود زمان.
  • GNU لینوکس پیش فرض (GNU) با تایپ مسیر صریح دستور در دسترس است، usr/bin/time.

برای بررسی اینکه کدام نسخه فرمان لینوکس برای سیستم شما اعمال می شود، موارد زیر را در برنامه پوسته خود وارد کنید:

$ type time
  • اگر خروجی بگیرید زمان یک کلمه کلیدی پوسته است، از دستور Bash time استفاده می کنید.
  • اگر خروجی بگیرید زمان یک کلمه رزرو شده است، از دستور Zsh time استفاده می کنید.
  • اگر خروجی بگیرید زمان usr/bin/time است، شما از GNU فرمان زمان

از طرف دیگر، می توانید آن را ساده کنید GNU دستور زمان در لینوکس توسط ایجاد یک دستور مستعار برای usr/bin/time.

مطالعه پیشنهادی

راهنمای ما را بررسی کنید روی برنامه نویسی bash.

استفاده از دستور Time در لینوکس

در این قسمت سینتکس دستور زمان لینوکس و روش خواندن خروجی آن را خواهید آموخت.

آشنایی با نحو دستور زمان لینوکس

استفاده از دستور زمان بسیار ساده است – تنها کاری که باید انجام دهید این است که برنامه پوسته خود را باز کنید و وارد کنید:

$ time         

برای استفاده کامل از دستور زمان، باید نحو آن را درک کنید:

$ time         

[arg1] [arg2] ... [argN] time [options]

[arg1] [arg2] ... [argN]

زمان داده شده را اجرا می کند فرمان با هر استدلال داده شده (ارگ). هنگامی که دستور کار خود را به پایان می رساند، زمان اطلاعاتی را که شامل مدت زمان اجرای دستور و منابع استفاده شده توسط آن است، به بیرون می دهد.

پیشنهاد می‌کنیم بخوانید:  فیلدهای سفارشی وردپرس: چه هستند و راه هایی برای افزودن آنها به پست ها و صفحات

اگر دستور برنامه با وضعیت غیر صفر که نشان دهنده خرابی است خارج شود، زمان یک پیام هشدار و وضعیت خروج خروجی می دهد.

با وارد کردن فرمت رشته ای که دستور استفاده می کند، می توانید تعیین کنید که کدام اطلاعات در قسمت استفاده از منابع سیستم نمایش داده شود.

اگر کاربر هیچ قالبی را مشخص نکرده باشد، اما متغیر محیط زمان تنظیم شده باشد، مقدار آن به عنوان قالب استفاده می شود. در غیر این صورت، از قالب پیش فرض ساخته شده در زمان استفاده می شود.

گزینه ها مشخص کننده های منبع هستند که خروجی زمان را تغییر می دهند. آنها باید قبل از دستور ظاهر شوند. هر چیزی که بعد از دستور وارد شود به عنوان یک آرگومان در نظر گرفته می شود.

برای مشاهده تمام گزینه هایی که می توانید برای زمان استفاده کنید، موارد زیر را در خط فرمان وارد کنید:

$ man time

لیستی از گزینه هایی را مشاهده خواهید کرد که می توانید از آنها برای تغییر خروجی فرمان زمان لینوکس استفاده کنید. با این حال، به خاطر داشته باشید که این گزینه ها ممکن است بسته به آن متفاوت باشند روی سیستم عامل خاص و نسخه ای که استفاده می کنید.

فهرستی از گزینه ها برای تغییر خروجی فرمان زمان لینوکس.

بیایید با یک مثال ساده اول شروع کنیم. برای اینکه بفهمید اجرای دستور چقدر طول می کشد ls برای نمایش محتوای یک دایرکتوری انتخاب شده موارد زیر را در پوسته وارد کنید:

$ time ls
خروجی دستور ls.خروجی دستور ls.

خروجی دستور ls و مدت زمان تکمیل آن را مشاهده خواهید کرد.

حال، بیایید سعی کنیم یک استدلال را وارد کنیم. در این مثال، سعی می کنیم بفهمیم که انتقال یک فایل به یک دایرکتوری دیگر چقدر طول می کشد:

$ time mv example.txt example-dir
خروجی نشان می دهد که چقدر طول می کشد تا یک فایل به دایرکتوری دیگری منتقل شود.خروجی نشان می دهد که چقدر طول می کشد تا یک فایل به دایرکتوری دیگری منتقل شود.

در نتیجه، example.txt فایل به مثال- کارگردانو زمان صرف شده برای تکمیل آن را خواهید دید process.

درک خروجی

برای درک کامل مزایای فرمان زمان لینوکس، باید بدانید که چگونه خروجی آن را بخوانید.

خواندن خروجی در ترمینال

خروجی پیش فرض دستور داخلی حاوی اطلاعات زیر است:

  • زمان واقعی (واقعی). زمان واقعی که برای process برای دویدن از ابتدا تا انتها این شامل هر زمان صرف شده توسط سایر فرآیندها و زمان صرف شده در انتظار تکمیل آنها می شود.
  • زمان کاربر (کاربر). مقدار زمان CPU صرف شده در حالت کاربر در طول process. سایر فرآیندها و زمان مسدود شده شامل نمی شوند.
  • زمان سیستم (sys). کل زمان CPU صرف شده در حالت هسته در طول process. مشابه زمان کاربر، سایر فرآیندها و زمان صرف شده توسط سایر فرآیندها به حساب نمی آیند.

در اینجا یک مثال است. اگر دستور زیر را در خط فرمان وارد کنیم، سیستم نصب کننده برنامه ماشین مجازی منبع باز VirtualBox را دانلود می کند:

$ time wget https://download.virtualbox.org/virtualbox/6.1.28/virtualbox-6.1_6.1.28-147628~Ubuntu~eoan_amd64.deb
در حال دانلود VirtualBox.در حال دانلود VirtualBox.

پس از اتمام دانلود، سه شکل را مشاهده خواهید کرد – واقعی، کاربر، و سیستم. همانطور که می بینید، آنها زمان سپری شده را در حالت های واقعی، کاربری و سیستمی در طول دانلود در دقیقه و ثانیه نشان می دهند.

نوشتن خروجی در یک فایل

گاهی اوقات، ممکن است بخواهید اطلاعاتی را که با استفاده از زمان دریافت کرده اید ذخیره کنید. خوشبختانه، یک گزینه فرمت وجود دارد که به شما امکان می دهد خروجی فرمان را در یک فایل بنویسید.

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

اگر از GNU فرمان زمان، -o گزینه به شما این امکان را می دهد که این کار را انجام دهید – یک فایل خروجی جدید حاوی اطلاعات ایجاد می کند روی دستور دیگر

برای مثال دستور زیر را وارد کنید تا اطلاعات پینگ ذخیره شود hostinger.com و جزئیات در مورد آن process در یک فایل جدید:

$ time -o hostinger-ping-info.log ping hostinger.com

توجه داشته باشید که اگر از پوسته Bash استفاده می‌کنید و می‌خواهید از -o یا هر گزینه دیگری استفاده کنید، باید دستور زمان خارجی را با استفاده از مسیر صریح فراخوانی کنید. usr/bin/time به جای فقط زمان.

$ usr/bin/time -o hostinger-ping-info.log ping hostinger.com

برای بررسی محتوای hostinger-ping-info.log، از لینوکس استفاده کنید گربه دستور:

$ cat hostinger-ping-info.log

دریافت خروجی دقیق در یک فایل

خروجی فرمان زمان پیش‌فرض ممکن است شامل تمام جزئیاتی نباشد که می‌خواهید درباره یک مورد خاص بدانید process. برای نمایش خروجی دقیق، گزینه -v را به دستور time در لینوکس اضافه کنید.

به عنوان مثال، اگر می خواهید دستور پینگ لینوکس را برای یافتن زمان پاسخگویی اجرا کنید hostinger.com و مشاهده اطلاعات دقیق در مورد process، زیر را وارد کنید:

$ time -v ping hostinger.com

اگر از GNU دستور زمان یا با یک جریان خطای استاندارد مواجه شده اید، با وارد کردن مسیر کامل، دستور زمان خارجی را فعال کنید usr/bin/time بجای:

$ usr/bin/time -v ping hostinger.com

همچنین، کاربران می‌توانند هنگام وارد کردن فرمان زمان، انواع اطلاعاتی را که می‌خواهند در خروجی ببینند با استفاده از این گزینه‌های قالب خروجی سفارشی کنند:

به عنوان مثال، اگر می خواهید تعداد پیام های سوکت دریافت شده توسط دستور را نمایش دهید، موارد زیر را در پوسته وارد کنید:

$ /usr/bin/time -f "Socket Messages Received: %r" command

از طرف دیگر، اگر از پوسته Bash استفاده می کنید، ممکن است TIMEFORMAT فرمان داخلی زمان را ترجیح دهید. TIMEFORMAT از یک رشته فرمت خاص استفاده می کند تا به کاربران اجازه دهد روش نمایش اطلاعات زمان بندی را مشخص کنند.

در اینجا لیستی از مقادیر پارامتر TIMEFORMAT آمده است:

%% به معنای واقعی کلمه.
%[p][l]آر زمان سپری شده بر حسب ثانیه
%[p][l]U تعداد ثانیه های CPU process در حالت کاربر صرف شده است.
%[p][l]اس تعداد ثانیه های CPU process در حالت سیستم صرف شده است.
٪پ درصد CPU، محاسبه شده به صورت (%U + %S) / %R.

نتیجه

دستور زمان در لینوکس یک ابزار عالی برای بررسی زمان اجرا و عملکرد کلی یک مورد خاص است process. در این راهنما، دستور زمان لینوکس، هدف، نحو و خروجی آن را یاد گرفتید.

امیدواریم که این راهنما به شما کمک کرده باشد تا روش کارآمدتر پیمایش در سیستم لینوکس را بیاموزید.

سایر دستورات لینوکس را برای مدیریت سرور کشف کنید

روش بررسی فضای دیسک روی لینوکس
روش انتقال داده با دستور Curl
روش انتقال فایل ها با استفاده از دستور Scp
روش نظارت بر تغییرات با دستور Watch
روش خاموش کردن و راه اندازی مجدد سرور
روش انتقال و همگام سازی داده ها با Rsync
روش مدیریت و فهرست کردن خدمات در لینوکس
روش استفاده از دستور tar: مثال های مفید برای آرشیو و فشرده سازی فایل ها در لینوکس