صبحانه کاری برای شروع رفاقت های کاری و تخصصی

آموزش دستور Tail در لینوکس با 5 فرمان کاربردی

دستور Tail در لینوکس
Avatar
نویسنده: دریا آزادخواه
دوشنبه 8 خرداد 1402
مطالعه: ۹ دقیقه ۰ نظر ۹۳۸ بازدید

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

خرید سرویس لینوکس با دستور Tail از پارس پک

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

معرفی دستور Tail Command در لینوکس

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

tail [OPTION] [FILE]

در دستور tail در لینوکس، منظور از OPTION گزینه‌های دستوری‌ای است که درخواست می‌کنید. برای مثال، نمایش پنجاه خط آخر و تعداد بایت و نمایش چندین فایل که در‌ادامه مقاله آن‌ها را توضیح خواهیم داد، [OPTION] محسوب می‌شود. منظور از [FILE] نیز نام فایلی است که قصد دارید خروجی آن را مشاهده کنید.

در این دستور، قرارگیری دو کلمه Option و File داخل براکت [] به‌معنای اختیاری‌بودن آن است. این یعنی می‌توانید بدون هیچ‌گونه Option و فقط همراه با اسم فایل، این دستور را به‌صورت زیر به‌کار ببرید:

tail filename.txt

بدین‌ترتیب با قرار‌ندادن هیچ‌گونه OPTION، دستور tail ده خط آخر فایل filename را به شما نمایش خواهد داد.

آموزش دستور Tail Command در لینوکس
آشنایی با دستور tail

آموزش استفاده از دستور tail در لینوکس

همانطور که ذکر شد، دستور tail در لینوکس برای نمایش آخرین خطوط یک فایل متنی استفاده می‌شود. همچنین، با استفاده از پارامتر `-n` می‌توانید تعداد دلخواه خطوط را مشخص کنید. در ادامه به کاربردهای مختلف این دستور اشاره شده.

فرمان نمایش ده خط آخر فایل با دستور tail

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

tail /var/log/auth.log

با این دستور، ده خط آخر فایل /var/log/auth.log به‌عنوان خروجی به شما نشان داده می‌شود.

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

دستورات پرکاربرد لینوکس

فرمان تعیین تعداد خطوط فایل برای نمایش با دستور tail

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

Tail -n15 filename

در این دستور، پانزده خط آخر فایل filename به‌نمایش درمی‌آید. اگر بین n- و ۱۵ نیز فاصله باشد، همان نتیجه را خواهد داد؛ درنتیجه، لزومی ندارد حتماً بدون فاصله بنویسید:

Tail -n 15 filename

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

Tail -15 filename

فرمان محدود‌کردن تعداد بایت‌های نمایش با دستور tail

با دستور tail می‌توانید تعداد بایت مدنظرتان را هم مشاهده کنید. هر هشت بیت، یک بایت است و تعداد یک کاراکتر را نشان می‌دهد. این یعنی به‌جای نمایش تعداد خطوط، می‌توانید تعداد بایت‌های انتهای فایل را در خروجی مشاهده کنید. این کار با استفاده از OPTION -c و تعداد بایت‌های تعیین‌شده انجام می‌شود. به‌عنوان مثال، برای مشاهده پنج بایت آخر فایل parspack از دستور زیر استفاده می‌کنیم:

Tail -c 5 parspack

زمانی‌که tail تعداد بایت‌های یک فایل را شمارش می‌کند، خطوط بعدی (کاراکتر نامرئی) را نیز یک بایت محاسبه می‌کند. خطوط جدید به‌صورت n| نوشته می‌شوند. برای نمونه، اگر سه خط جدید و بدون هیچ دستوری در انتهای یک فایل وجود داشته باشد، tail آن را به‌عنوان سه کاراکتر همراه با کاراکترهای دیگر تشخیص می‌دهد. در مثال زیر، خروجی زیر ۲۴ بایت (کاراکتر) از فایل parspack را نشان می‌دهد:

Tail -c 24 parspack

Abcdefghi

Jklmnopq's

Tuv

همچنین، با افزودن پسوند b پس از c- می‌توانید تعداد بایت‌ها را در مقدار مشخصی ضرب کنید. بدین‌ترتیب با اضافه‌کردن حروف زیر، تعداد بایت در مقدار مشخصی ضرب خواهد شد:

  • افزودن حرف b: بایت × ۵۱۲
  • افزودن حرف k: بایت × ۱۰۲۴
  • افزودن حرف m: بایت × ۱۰۴۸۵۷۶

به‌عنوان مثال، دستور زیر پنج بایت آخر فایل parspack را در مقدار k یعنی ۱۰۲۴ ضرب می‌کند:

Tail -c5k parspack

نکته مهم

به‌خاطر بسپارید که c- را نمی‌توان مانند گزینه n- حذف کرد؛ زیرا به‌طورپیش‌فرض تعداد مشخصی از بایت وجود ندارد؛ بنابراین، اگر مانند دستور n گزینه c را برای مشاهده تعداد بایت وارد نکنید، دستور tail آن را به‌عنوان n و عدد صحیح شناسایی می‌کند. این یعنی درصورتی‌که برای نمایش تعداد بایت دستور tail را مانند نمایش تعداد خطوط n به یکی از صورت‌های زیر به‌کار ببرید، با پیغام خطا روبه‌رو خواهید شد:

Tail -c parspack

Tail - 15 parspack

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

اگر بیش از یک ورودی به tail دهید، این دستور ده خط آخر هر فایل را به شما نمایش خواهد داد. هر مجموعه از خطوط نمایش‌داده‌شده با نام فایل آغاز و با مقداری فاصله از فایل بعدی ظاهر می‌شود. به‌عنوان نمونه‌، قصد داریم ده خط آخر دو فایل parspack و mag را مشاهده کنیم. بدین‌ترتیب، دستوری به‌صورت زیر خواهیم داشت:

Tail parspack mag

⇒parspack 

Abcdef

Bbcde

Cbcd

Dbcd

Ecd

Fd

G

Froe

For

Dho

⇒mag

Qwerty

Qejhf

Jfhfhyf

Hfhfhj

Hfhfh

Iir8

Jjnd

Kkod

Jjji

Jjjpij

همچنین، اگر نمی‌خواهید اسم فایل میان دستورهای نمایش داده شود، به‌کمک گزینه q- می‌توانید فایل خروجی را به‌صورت زیر دریافت کنید؛ درنتیجه زمانی‌که چندین فایل داشته باشید، گزینه q- در به‌کارگیری دستور tail باعث می‌شود نام فایل نمایش داده نشود:

Tail -q parspack mag

Abcdef

Bbcde

Cbcd

Dbcd

Ecd

Fd

G

Froe

For

Dho

(بدون نمایش اسم فایل بعدی)

Qwerty

Qejhf

Jfhfhyf

Hfhfhj

Hfhfh

Iir8

Jjnd

Kkod

Jjji

Jjjpij

فرمان مشاهده تغییرات فایل با دستور tail

با گزینه f- در دستور tail، می‌توانید جدیدترین تغییرات یک فایل را مشاهده کنید. برای نمونه، این گزینه زمانی کاربرد دارد که قصد دارید گزارش آنی از تغییرات انجام‌شده روی فایل دراختیار داشته باشید. به‌عنوان مثال، با دستور زیر می‌توانید بر تغییرات انجام‌شده و به‌روزرسانی‌های فایل parspack نظارت کنید:

Tail -f parspack

اگر قصد دارید حین مشاهده فایل دستور را متوقف کنید، از ترکیب کلیدهای ctrl+c استفاده کنید. همچنین برای ادامه مانیتورینگ تغییرات فایل، می‌توانید از گزینه F- بهره ببرید. با این کار مجدداً دستور tail فایل را باز می‌کند.

آموزش استفاده از دستور tail در لینوکس
آموزش Tail Command در لینوکس

نحوه استفاده از دستور tail با pipe

خروجی دستورهای دیگر را می‌توان با pipe به ورودی دستور tail تبدیل کرد. برای مثال، دستور زیر به‌طور‌پیش‌فرض از دستور IS خروجی را می‌فرستد. دستور IS اسم فایل و دایرکتوری‌ها را فهرست‌‌وار به دستور tail می‌فرستد. درنهایت، خروجی را با ترکیب دو دستور در صفحه نشان می‌دهد. این دستور به‌صورت زیر است:

IS | Tail

افزون‌براین، می‌توانید این خروجی را به فایلی هدایت کنید. برای نمونه، در دستور زیر خروجی را به فایل last_parspack منتقل کرده‌ایم:

IS | Tail >> last_parspack

به‌عنوان مثالی دقیق‌تر، خروجی دستور IS با دستور tail به‌صورت pipeشده فقط تا ۵ فایل اخیری را نشان دهد که بیشترین زمان اجرا را داشته‌اند:

IS -t parspack | tail -n 5

login.defs

request-key.conf

libao.conf

mime.types

pcmcia

نحوه فیلتر‌کردن دستور tail به‌کمک دستور grep

در این قسمت، می‌توانید با ترکیب دستور tail و grep خروجی دقیق‌تری به‌دست آورید. به‌عنوان نمونه، در دستور زیر tail ده خط آخر فایل را شمارش می‌کند و فقط آن‌هایی را نشان می‌دهد که حاوی آدرس آی‌پی ۱۹۲.۱۶۸.۱.۱۰ باشد:

Tail parspack | grep 192.168.1.10

همان‌طور‌که می‌بینید، در استفاده از دستور tail با سایر دستور‌ها، از خط عمودی | بین دو دستور استفاده می‌شود.

آموزش کپی‌کردن فایل و فولدر در لینوکس را با استفاده از دستور cp در مقاله زیر بخوانید.

دستور cp در لینوکس

جمع‌بندی

یادگرفتن استفاده از دستور Tail در لینوکس، مانند آب خوردن ساده است. با اجرای فرمان‌هایی که در این مقاله بررسی کردیم، به‌راحتی می‌توانید از دستور tail استفاده کنید. همچنین، با قراردادن علامت + به‌جای علامت – در OPTION‌های دستور tail، می‌توانید کاری کنید که از ابتدای فایل شروع به شمارش کند. به‌عنوان مثال، دستور زیر از خط هفتم فایل parspack آغاز می‌کند و تا انتهای فایل، خطوط را نمایش می‌دهد:

Tail +7 parspack
نمایش ۱۰ خط آخر فایل Tail filename
تعیین تعداد خطوط فایل برای نمایش Tail -n filename
تعیین تعداد بایت‌های فایل برای نمایش Tail -c filename
نمایش ۱۰ خط آخر چندین فایل Tail file1 file2 file3…
نمایش ۱۰ خط آخر چندین فایل بدون نام فایل Tail -q file1 file2 file3…
نمایش تغییرات ۱۰ خط آخر فایل Tail -f filename
ترکیب tail با دستورهای دیگر Tail | grep

IS | tail

نمایش خطوط از ابتدای فایل Tail +n filename

در جدول بالا، انواع تغییراتی را آورده‌ایم که با دستور tail در لینوکس می‌توانید انجام دهید. به‌طور‌کلی، با دستور tail می‌توانید جدیدترین ورودی و تغییرات فایل را در خروجی مشاهده کنید.

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

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

سؤالات متداول

۱. دستور Tail در لینوکس چیست؟

به‌کمک این دستور، می‌توانید به‌طور‌پیش‌فرض تغییرات ده خط آخر فایل ورودی را مشاهده کنید.

۲. نحوه استفاده هم‌زمان از دستور tail برای چند فایل چگونه است؟

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

۳. دستور tail و دستور head در لینوکس چه تفاوتی دارند؟

دستور head در لینوکس، ده خط ابتدایی یک فایل و دستور tail در لینوکس، ده خط انتهایی فایل را نمایش می‌دهد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.