
دستور tail در لینوکس یکی از احکام عملی و مهم به شمار می رود. دستور tail ده خط آخر فایل را به شما نشان می دهد. برای مثال، فرض کنید می خواهید خروجی یک فایل طولانی را مشاهده کنید. با این دستور می توانید تعداد مشخصی از خطوط یا بایت های هر فایل را مشاهده کنید. در دستور tail مانند دستور head در لینوکس، تعداد کلمات بر اساس حروف الفبا مرتب می شود. همانطور که فرمان head ده خط اول فایل را به شما نشان می دهد، دستور tail ده خط آخر فایل را به شما نشان می دهد. در این مقاله وبلاگ پارس پک با نحوه استفاده از دستور tail آشنا می شویم. با مطالعه این مقاله می توانید تعداد خطوط یا تعداد بایت های یک فایل و تغییرات آن را به صورت یک لحظه مشاهده کنید.
مقدمه ای بر دستور tail در لینوکس
به طور پیش فرض، دستور tail ده خط آخر فایل را به شما نشان می دهد. بنابراین، می توان از آن برای مشاهده، نظارت و تجزیه و تحلیل فایل های طولانی استفاده کرد. نحو یا ساختار دستور tail به شرح زیر است:
tail [OPTION] [FILE]
در دستور دم لینوکس، گزینه ها به گزینه های فرمانی که درخواست می کنید اشاره می کنند. به عنوان مثال نمایش پنجاه خط آخر و تعداد بایت ها و نمایش چندین فایل که در ادامه مقاله توضیح خواهیم داد. [OPTION] اعتقاد بر این است. معنی [FILE] همچنین نام فایلی است که می خواهید خروجی آن را ببینید.
در این دستور با قرار دادن دو کلمه Option و File در داخل براکت ها [] یعنی اختیاری است. این بدان معنی است که شما می توانید از این دستور بدون هیچ گزینه ای و فقط با نام فایل استفاده کنید:
tail filename.txt
بنابراین، بدون تنظیم هیچ گزینه ای، دستور tail ده خط آخر فایل نام فایل را به شما نشان می دهد.
با دستور دم آشنا شوید
آموزش استفاده از دستور Tail در لینوکس
همانطور که گفته شد، دستور tail در لینوکس برای نمایش آخرین خطوط یک فایل متنی استفاده می شود. همچنین، میتوانید تعداد خطوط مورد نظر را با استفاده از پارامتر «-n» تعیین کنید. در ادامه به کاربردهای مختلف این سکانس اشاره شده است.
فرمان نمایش ده خط آخر فایل با دستور دم
برای نمایش ده خط آخر یک فایل کافی است نام فایل را بعد از دستور tail قرار دهید:
tail /var/log/auth.log
با این دستور ده خط آخر فایل /var/log/auth.log به عنوان خروجی نشان داده می شود.
دستور تنظیم تعداد خطوط فایل برای نمایش با دستور tail
اگر می خواهید در انتهای فایل بیش از ده خط مشاهده کنید، می توانید به جای n-value در دستور زیر تعداد خطوط مورد نظر را وارد کنید. مثلا:
Tail -n15 filename
در این دستور پانزده خط آخر نام فایل نمایش داده می شود. اگر n- فاصله بین و 15 باشد، نتیجه یکسانی خواهد داشت. در نتیجه، نوشتن بدون فاصله ضروری نیست:
Tail -n 15 filename
برای ساده کردن دستور، حتی نیازی به استفاده از n نیست. یعنی می توانید همان نتیجه دستور اول را در این قسمت بدون تایپ n ببینید. در واقع، تعیین تعدادی خط با یک فاصله از دستور tail همان نتیجه اولیه را خواهد داشت:
Tail -15 filename
دستور محدود کردن تعداد بایت های نمایش داده شده با دستور tail
با دستور tail می توانید تعداد بایت های مورد نظر خود را مشاهده کنید. هر هشت بیت یک بایت است و نشان دهنده تعدادی کاراکتر است. یعنی به جای نمایش تعداد خطوط، می توانید تعداد بایت های انتهای فایل را در خروجی مشاهده کنید. این کار با استفاده از OPTION -c و تعداد مشخص شده بایت انجام می شود. به عنوان مثال، برای مشاهده پنج بایت آخر یک فایل Parsepack، از دستور زیر استفاده می کنیم:
Tail -c 5 parspack
هنگامی که tail تعداد بایت های فایل را می شمارد، خطوط زیر (کاراکترهای نامرئی) را نیز با یک بایت می شمارد. n| به عنوان مثال، اگر سه خط جدید در انتهای یک فایل بدون ترتیب وجود داشته باشد، tail این را به عنوان سه کاراکتر به همراه سایر کاراکترها تشخیص می دهد. در مثال زیر، خروجی زیر 24 بایت (نویسه) از فایل Parsepack را نشان می دهد:
Tail -c 24 parspack Abcdefghi Jklmnopq's Tuv
علاوه بر این، با اضافه کردن پسوند b بعد از -c، می توانید تعداد بایت ها را در مقدار مشخص شده ضرب کنید. بنابراین، با اضافه کردن کاراکترهای زیر، تعداد بایت ها در یک مقدار ثابت ضرب می شود:
- حرف b را اضافه کنید:بایت × 512
- اضافه کردن حرف k: بایت × 1024
- حرف m را اضافه کنید: بایت × 1048576
به عنوان مثال، دستور زیر پنج بایت آخر یک فایل Parsepack را در مقدار k که برابر با 1024 است ضرب می کند:
Tail -c5k parspack
مقالات مهم
توجه داشته باشید که c- نمی تواند مانند n- can حذف شود. زیرا به طور پیش فرض تعداد مشخصی از بایت ها وجود ندارد. بنابراین، اگر مانند دستور n گزینه c را برای مشاهده تعداد بایت ها وارد نکنید، دستور tail آن را به عنوان n و یک عدد صحیح تشخیص می دهد. به این معنی که اگر از دستور tail برای نمایش تعدادی بایت به یکی از روش های زیر استفاده کنید، مانند نمایش تعدادی N خط، با پیغام خطا مواجه خواهید شد:
Tail -c parspack Tail - 15 parspack
دستور نمایش چندین فایل با دستور tail
اگر بیش از یک ورودی را در دم وارد کنید، این دستور ده خط آخر هر فایل را نمایش می دهد. هر مجموعه از خطوط نمایش داده شده با نام فایل شروع می شود و با فاصله از فایل بعدی ظاهر می شود. به عنوان مثال، ده خط آخر دو فایل پارسک و مگ را بررسی می کنیم. بدین ترتیب دستوری به شرح زیر خواهیم داشت:
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، می توانید آخرین تغییرات یک فایل را مشاهده کنید. به عنوان مثال، این گزینه زمانی استفاده می شود که می خواهید یک گزارش فوری از تغییرات ایجاد شده در یک فایل دریافت کنید. برای مثال، میتوانید تغییرات ایجاد شده و بهروزرسانیهای یک فایل Parsepack را با دستور زیر نظارت کنید:
Tail -f parspack
اگر می خواهید دستور را هنگام مشاهده فایل متوقف کنید، از کلیدهای ترکیبی ctrl+c استفاده کنید. همچنین می توانید از گزینه F- برای ادامه نظارت بر تغییرات فایل استفاده کنید. با این کار دستور tail فایل را دوباره باز می کند.
آموزش دستور tail در لینوکس
نحوه استفاده از دستور tail با pip
خروجی دستورات دیگر را می توان به ورودی فرمان دم وارد کرد. به عنوان مثال، دستور زیر به صورت پیش فرض خروجی از دستور IS ارسال می کند. دستور IS نام فایل ها و دایرکتوری ها را در قالب یک لیست به دستور tail ارسال می کند. در نهایت، خروجی را با ترکیب دو دستور در صفحه نمایش می دهد. ترتیب به شرح زیر است:
IS | Tail
علاوه بر این، می توانید این خروجی را به یک فایل هدایت کنید. به عنوان مثال، در دستور زیر خروجی را به فایل last_parspack منتقل کردیم:
IS | Tail >> last_parspack
به عنوان یک مثال دقیق تر، خروجی دستور IS با دستور tail لوله می شود تا فقط 5 فایل آخر را با طولانی ترین زمان اجرا نشان دهد:
IS -t parspack | tail -n 5 login.defs request-key.conf libao.conf mime.types pcmcia
نحوه فیلتر کردن دستور tail با استفاده از دستور grep
در این قسمت می توانید با ترکیب دستورات tail و grep خروجی دقیق تری دریافت کنید. به عنوان مثال، دستور زیر ده خط آخر فایل را در دم می شمارد و فقط آنهایی را نشان می دهد که حاوی آدرس IP 192.168.1.10 هستند:
Tail parspack | grep 192.168.1.10
همانطور که می بینید، دستور tail را می توان به همراه دستورات دیگر از خط عمودی | استفاده کرد بین دو دستور استفاده می شود.
آموزش کپی کردن فایل ها و پوشه ها در لینوکس با استفاده از دستور cp را در مقاله زیر بخوانید.
دستور cp در لینوکس
نتیجه
یاد بگیرید که استفاده کنید دستور tail در لینوکسبه سادگی آب خوردن است. با اجرای دستوراتی که در این مقاله بررسی کرده ایم می توانید به راحتی از دستور tail استفاده کنید. همچنین با جایگزین کردن علامت – با علامت + در گزینه های دستور tail می توانید از ابتدای فایل شمارش کنید. به عنوان مثال، دستور زیر از خط هفتم یک فایل Parsepack شروع می شود و خطوط را تا انتهای فایل نمایش می دهد:
Tail +7 parspack
نمایش 10 خط آخر فایل | نام فایل دم |
تعداد خطوط فایل برای نمایش را مشخص کنید | نام فایل tel -n |
تعداد بایت های فایل برای نمایش را مشخص کنید | نام فایل tail -c |
نمایش 10 خط آخر چندین فایل | فایل دم ۱ فایل ۲ فایل ۳… |
نمایش 10 خط آخر چندین فایل بدون نام فایل | Tell-Q فایل 1 فایل 2 فایل 3… |
نمایش تغییرات 10 خط آخر فایل | نام فایل tail -f |
ترکیب دم با دستورات دیگر | دم | انگور IS | دم |
نمایش خطوط از ابتدای فایل | tel + n نام فایل |
در جدول بالا تغییراتی را که می توانید با دستور tail در لینوکس انجام دهید را فهرست کرده ایم. به طور کلی، دستور tail به شما امکان می دهد آخرین تغییرات ورودی و فایل را در خروجی مشاهده کنید.
دستور tail در لینوکس اجازه می دهد تا به راحتی تغییرات را بررسی کرده و آخرین خطوط یک فایل را مشاهده کنید. از آنجایی که گزارش گیری از یک فایل طولانی فرآیندی دشوار و زمان بر است، با دستور tail در لینوکس آسان تر خواهد بود.
چه گزینه های دیگری را در مورد استفاده از دستور tail می شناسید که در این مقاله به آنها نپرداخته ایم؟ به اشتراک بگذارید لطفا همچنین اگر سوال یا ابهامی دارید از طریق نظرات مطرح کنید تا کارشناسان پارس پک در اسرع وقت با شما تماس بگیرند.
سوالات متداول
1. دستور tail در لینوکس چیست؟
با این دستور می توانید تغییرات ده خط آخر فایل ورودی را به صورت پیش فرض مشاهده کنید.
2. چگونه از دستور tail برای چندین فایل به طور همزمان استفاده کنیم؟
با وارد کردن نام دو فایل بعد از دستور tail، می توانید ده خط آخر هر دو فایل را با نمایش نام فایل ها در ابتدای هر مجموعه از خطوط مشاهده کنید.
3. تفاوت دستور tail و head در لینوکس چیست؟
دستور head در لینوکس ده خط اول فایل و دستور tail در لینوکس ده خط آخر فایل را نمایش می دهد.