منو سایت

دستور Training Tail در لینوکس و کاربردهای آن

 تاریخ انتشار :
/
  وبلاگ
دستور Training Tail در لینوکس و کاربردهای آن

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

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

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

tail [OPTION] [FILE]

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

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

tail filename.txt

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

آموزش Tail Command در لینوکس

آشنایی با دستور دم

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

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

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

برای خروجی ده خط آخر فایل، فقط نام فایل را بعد از دستور 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

دستور محدود کردن تعداد بایت های نمایش داده شده با دستور queue

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

Tail -c 5 parspack

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

Tail -c 24 parspack

Abcdefghi

Jklmnopq's

Tuv

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

  • حرف b را اضافه کنید: بایت × 512
  • اضافه کردن حرف k: بایت × 1024
  • اضافه کردن حرف m: بایت × 1048576

برای مثال دستور زیر پنج بایت آخر فایل parspack را در مقدار k که برابر با 1024 است ضرب می کند:

Tail -c5k parspack

یادداشت مهم

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

Tail -c parspack

Tail - 15 parspack

دستور نمایش چندین فایل با دستور 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

دستور file view با دستور tail جایگزین می شود

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

Tail -f parspack

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

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

آموزش Tail Command در لینوکس

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

خروجی از دستورات دیگر را می توان به ورودی فرمان دم هدایت کرد. به عنوان مثال، دستور زیر خروجی را از دستور پیش فرض 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 خروجی پرمخاطب تری دریافت کنید. به عنوان مثال، در دستور زیر، tail ده خط آخر فایل را می شمارد و فقط آنهایی را نشان می دهد که حاوی آدرس IP 192.168.1.10 هستند:

Tail parspack | grep 192.168.1.10

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

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

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

نتیجه

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

Tail +7 parspack
نمایش 10 خط آخر فایلنام فایل دم
تعداد خطوط فایل را برای نمایش تنظیم کنیدنام فایل Tail -n
تعداد بایت های فایل برای نمایش را مشخص کنیدنام فایل Tail -c
نمایش 10 خط آخر چندین فایلفایل نهایی 1 فایل 2 فایل 3…
نمایش 10 خط آخر چندین فایل بدون نام فایلصف -q file1 file2 file3…
تغییرات 10 خط آخر فایل را نشان دهیدنام فایل صف-f
ترکیب صف با دستورات دیگردم | grep

E| دم

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

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

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

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

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

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

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

2. چگونه از دستور tail برای چندین فایل به طور همزمان استفاده کنیم؟

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

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

دستور head Linux ده خط اول یک فایل را نمایش می دهد و دستور Linux tail ده خط آخر یک فایل را نمایش می دهد.