آموزش دستور Tail در لینوکس با 5 فرمان کاربردی
در این مقاله میخوانید
- معرفی دستور Tail Command در لینوکس
- آموزش استفاده از دستور tail در لینوکس
- فرمان نمایش ده خط آخر فایل با دستور tail
- فرمان تعیین تعداد خطوط فایل برای نمایش با دستور tail
- فرمان محدودکردن تعداد بایتهای نمایش با دستور tail
- فرمان نمایش چندین فایل با دستور tail
- فرمان مشاهده تغییرات فایل با دستور tail
- نحوه استفاده از دستور tail با pipe
- نحوه فیلترکردن دستور tail بهکمک دستور grep
- جمعبندی
- سؤالات متداول
دستور 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 در لینوکس
همانطور که ذکر شد، دستور 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 با 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 در مقاله زیر بخوانید.
جمعبندی
یادگرفتن استفاده از دستور 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 در لینوکس، ده خط انتهایی فایل را نمایش میدهد.