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

مدیران سیستم معمولاً آن را با سایر دستورات لینوکس ترکیب می کنند مرتب سازی یا rm برای دستکاری خروجی علاوه بر این، آنها می توانند گزینه های مختلفی را برای اصلاح رفتار ابزار مبتنی بر آن اضافه کنند روی وظایف

برای کمک به بهبود کارایی مدیریت سرور خصوصی مجازی (VPS)، این مقاله لینوکس را توضیح می‌دهد دم اصول فرمان ما نحو آن را ارائه می دهیم، مثال های عملی را به اشتراک می گذاریم و روش ترکیب آن را با آن نشان می دهیم سر سودمندی

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

دستور دستور دم

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

tail [file_name]

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

  • -c شماره یا – بایت ‒ خروجی آخرین تعداد بایت داده
  • -n تعداد یا – خطوط ‒ آخرین را مشخص می کند تعداد خطوط برای نشان دادن
  • یا –follow=نام ‒ ورودی های جدید را با رشد فایل نظارت می کند.
  • -v یا – پرحرف ‒ نام فایل را قبل از داده چاپ می کند.
  • -q یا – ساکت، – بی صدا ‒ نام فایل را قبل از چاپ داده ها حذف می کند.
  • -نسخه ‒ را نشان می دهد دم اطلاعات نسخه.

مهم! توجه داشته باشید که این دستور لینوکس به حروف بزرگ و کوچک حساس است.

نمونه های فرمان دم

در این بخش، کاربردهای رایج و مثال‌های کاربردی لینوکس را بررسی می‌کنیم دم فرمان برای اجرای این دستور روی یک VPS، با استفاده از یک کلاینت SSH مانند PuTTY یا ترمینال متصل شوید. متناوبا، از سوی دیگر، هاستینگer کاربران می توانند از ما استفاده کنند مرورگر terminal ویژگی.

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

آیا یک برنامه میزبانی VPS خریداری نکرده اید؟ مقاله ما را بررسی کنید روی برترین ارائه دهندگان میزبانی VPS برای آشنایی با بهترین گزینه ها برای نیازهای شما.

استفاده از دم برای چاپ 10 خط آخر

این دم عملکرد اصلی فرمان خروجی 10 ورودی آخر از یک فایل است. برای انجام این کار، آن را بدون هیچ گزینه یا پرچمی مانند مثال زیر اجرا کنید:

tail error.log

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

دستور tail 10 خط آخر یک فایل log را چاپ می کند

همچنین می توانید مسیر دایرکتوری را مشخص کنید. در اینجا نمونه ای از دستورات برای ردیابی 10 آخرین ورودی فایل های لاگ سرورهای وب مختلف آورده شده است:

sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/nginx/access.log

استفاده از دم برای چاپ تعداد مشخصی از خطوط

برای نمایش خطوط خاص با دم، اضافه کردن -n گزینه ای به فرمان شما در اینجا نحو است:

tail -n [num] [file_name]

دستور مثال زیر را برای چاپ دو خط آخر آن مشاهده کنید mynote.txt فایل:

tail -n 2 mynote.txt
دستور tail دو خط آخر یک فایل را چاپ می کنددستور tail دو خط آخر یک فایل را چاپ می کند

شما همچنین می توانید حذف کنید -n گزینه و مستقیماً تعداد خطوطی را که باید به عنوان پرچم چاپ شوند، مانند این مثال مشخص کنید:

tail -2 mynote.txt

استفاده از tail برای تعیین تعداد بایت ها

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

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

در اینجا نحو است:

tail -c [num] [file_name]

مثال زیر 50 بایت یا کاراکتر آخر را خروجی می‌دهد mynote.txt فایل:

tail -c 50 mynote.txt

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

استفاده از tail برای مرتب سازی داده ها

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

به عنوان مثال، لوله ls فرمان با -t و گزینه‌هایی برای فهرست کردن 10 مورد در فهرست فعلی با قدیمی‌ترین مُهرهای تغییر. در اینجا نحو است:

ls -tl | tail -n [number_of_lines]

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

ls -tl | sort -M | tail -n [number_of_lines]

برای معکوس کردن ترتیب خروجی، عبارت را اضافه کنید -r گزینه به دم دستور:

tail -n [number_of_lines] [file_name] | sort -r
دستور مرتب سازی لوله شده ترتیب خروجی دم را معکوس می کنددستور مرتب سازی لوله شده ترتیب خروجی دم را معکوس می کند

استفاده از tail برای نظارت بر یک فایل برای تغییرات

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

tail -f [file_name]

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

tail --follow=name [file_name]

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

حتی اگر نام آن را تغییر دهید یا یک فایل جدید با همین نام ایجاد کنید، دستور همچنان همان فایل را زیر نظر دارد. با استفاده از حروف بزرگ -اف گزینه همان رفتار را نشان می دهد.

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

tail -f --max-unchanged-stats=5 error.log

برای توقف چاپ داده های جدید، با فشار دادن دکمه از حالت به روز رسانی خارج شوید Ctrl+C میانبر. مشترک دم -f استفاده شامل مشاهده بلادرنگ گزارش است زیرا اطلاعات وضعیت جدید معمولاً در پایین یک فایل نشان داده می شود.

نکته حرفه ای

برای تجزیه و تحلیل پیوسته فایل لاگ، اجرا کنید دم -f فرمان در دیگری terminal به عنوان مثال با استفاده از یک مالتی پلکسر مانند Linux Screen برای حفظ آن process در حال اجرا در پس زمینه

استفاده از دستور tail برای چندین فایل

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

tail [option] [file_name_1] [file_name_2] [file_name_3]

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

tail -n 5 file1.txt file2.txt file3.txt

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

دستور tail پنج خط آخر چند فایل را چاپ می کنددستور tail پنج خط آخر چند فایل را چاپ می کند

هدر فایل را با اضافه کردن مخفی کنید -q گزینه ای برای فعال کردن حالت آرام، با حذف اطلاعات:

tail -q [file_name]

استفاده از tail برای ردیابی استفاده از منابع سیستم

ترکیب کنید دم دستور با ابزارهای ردیابی منابع برای نظارت بر استفاده از سخت افزار سیستم شما. در اینجا یک نحو مثال آمده است:

command [interval] | tail -n [number_of_lines]

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

به عنوان مثال، دستور زیر را برای ردیابی آخرین گزارش استفاده از حافظه مجازی که هر ثانیه به‌روزرسانی می‌شود، وارد کنید:

vmstat 1 | tail -n 5

برای ردیابی آمار VPS I/O خود، آن را لوله کنید iostat دستوری مانند زیر:

iostat 1 | tail -n 5

در همین حین ترکیب کنید دم با netstat دستور نظارت بر مصرف منابع مرتبط با شبکه:

netstat 1 | tail -n 5

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

sudo apt install net-tools procps sysstat

به جای دستورات، هاستینگer کاربران میزبان VPS می توانند استفاده از منابع سرور خود را با ویژگی نظارت ما که یک رابط کاربری گرافیکی ارائه می دهد بررسی کنند. برای دسترسی به آن، به hPanel → بروید پشتیبان گیری و نظارتاستفاده از سرور.

Hostinger  داشبورد نظارت بر منابع VPS در hPanelHostinger  داشبورد نظارت بر منابع VPS در hPanel

استفاده از فرمان دم با لوله ها

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

پیشنهاد می‌کنیم بخوانید:  آموزش Kubernetes برای سال 1403: یادگیری اصول موثر Container مدیریت

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

command | tail -n [number of lines]

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

با استفاده از هد Command With Tail

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

head -[option] [file_name]

می توانید از برخی از آنها استفاده کنید دم گزینه های فرمان با سر. مثلا اضافه کنید -n برای چاپ اول تعداد خطوط از یک فایل

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

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

head -n 20 access.log | tail -10
head -n 20 error.log | tail -10

در مثال های بالا، سر دستور 20 خط اول را از دو فایل لاگ بازیابی می کند و آنها را به عنوان ورودی از لوله عبور می دهد. سپس، دم 10 خط آخر را چاپ می کند.

دستور دم و سر، چند خط آخر یک فایل را که از خط پنجم شروع می شود، خروجی می دهددستور دم و سر، چند خط آخر یک فایل را که از خط پنجم شروع می شود، خروجی می دهد

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

head -n 10 mynote.txt | tail -5

نتیجه

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

این command-line ابزار به طور پیش فرض 10 خط آخر را بازیابی می کند، اما می توانید تعداد مشخصی از ورودی ها را با استفاده از -n گزینه. شما همچنین می توانید نام فایل های متعدد و داده های چاپ را مشخص کنید روی مقدار بایت آنها

علاوه بر این، کاربران می توانند ترکیب شوند دم با لینوکس دیگر command-line ابزار با استفاده از لوله (|) برای تغییر خروجی برای کارهای خاص. مثلا اضافه کنید netstat، iostat، و vmstat برای بررسی آخرین گزارش استفاده از منابع سیستم.

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

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

روش خواندن محتوای یک فایل
روش خواندن یک فایل با دستور sed
روش نوشتن و نمایش روی فایل با دستور Tee
روش کشتن یک فرآیند در لینوکس
روش استفاده از دستور خاموش کردن لینوکس
روش استفاده از دستور SCP برای کپی و انتقال فایل ها در لینوکس

سوالات متداول فرمان دم

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

چگونه فرمان دم را می گیرید؟

با استفاده از دم و grep ترکیبی نیاز به چرخش دارد روی حالت بافر خط این اجازه می دهد تا process برای از سرگیری جستجو با کاهش تاخیر.

برای انجام این کار، بنویسید دم باگزینه و نام فایل سپس دستور grep را با – بافر خطی گزینه و الگوی جستجو

چگونه از Tail Command در لینوکس خارج شوم؟

برای متوقف کردن دم فرمان process و بازیابی کنید terminal پنجره، فشار دهید Ctrl+C. این میانبر می فرستد SIGINT سیگنال، گفتن command-line رابط برای پایان دادن به process به درستی.

ما استفاده از آن را توصیه نمی کنیم SIGKILL سیگنال از آنجایی که به زور پایان می دهد process، به طور بالقوه باعث ایجاد مشکلات می شود.

چگونه خروجی دم را به یک فایل هدایت کنم؟

برای تغییر مسیر دم خروجی فرمان به یک فایل، از علامت بزرگتر از (>) و محل ذخیره داده ها را مشخص کنید. مثلا دویدن tail data.txt > log_file.txt ذخیره خواهد کرد data.txtآخرین 10 ورودی به log_file.txt فایل.

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