دستور Tail قسمت آخر (بهطور پیشفرض 10 خط آخر) یک یا چند فایل یا نوع دیگر دادهها را نشان میدهد. همچنین میتوان از آن برای نظارت بر تغییرات فایل در زمان واقعی استفاده کرد: یکی از رایجترین کاربردهای دستور Tail، مشاهده و تجزیهوتحلیل فایلهای گزارش و سایر فایلهایی است که معمولاً در حال تغییر هستند.
در این آموزش، نحوه استفاده از دستور tail لینوکس را از طریق مثالهای عملی و شرح جزئیات پیرامون رایجترین گزینههای دستور tail نشان خواهیم داد.
ساختار دستور Tail
قبل از اینکه به نحوه استفاده از دستور tail بپردازیم، میخواهیم ساختار اصلی این دستور را مرور کنیم؛ استفاده از دستور tail به شکل زیر میباشد:
tail [OPTION]... [FILE]...
[OPTION]- گزینههای این دستور می باشد که در بخشهای بعدی، به رایجترین گزینههای دستور tail اشاره خواهیم کرد.
FILE- نام فایلها: اگر هیچ فایلی در بخش FILE مشخص نشده باشد یا FILE با – مقداردهی شده باشد، tail ورودی استاندارد را میخواند.
نحوه استفاده از دستور Tail
در سادهترین شکل، این دستور بدون هیچ گزینهای استفاده میشود؛ که در این صورت دستور 10 خط آخر را نمایش میدهد.
tail filename.txt
خروجی این دستور به صورت زیر میباشد:
نحوه نمایش تعداد مشخصی از خطوط
برای مشخص کردن تعداد خطوطی که میخواهید نمایش داده شود، از گزینه -n (--lines) استفاده کنید:
tail -n <NUMBER> filename.txt
همچنین میتوانید حرف n را حذف کرده و فقط از (-) و تعداد (بدون ایجاد فاصله بین آنها) استفاده کنید.
برای نمایش 50 خط آخر یک فایل با نام filename.txt میتوانید از دستور زیر استفاده نمایید:
tail -n 50 filename.txt
دستور زیر همان نتیجه دستور بالا را نشان میدهد:
tail -50 filename.txt
نحوه نمایش تعداد مشخصی از بایتها
برای نشان دادن تعداد مشخصی از بایتها از گزینه -c (--bytes) استفاده کنید.
tail -c <NUMBER> filename.txt
بهعنوانمثال برای نمایش 500 بایت آخر از فایلی به نام filename.txt شما میتوانید از دستور زیر استفاده نمایید:
tail -c 500 filename.txt
همچنین میتوانید پس از مشخص کردن تعداد، از واحدهای بایت نیز استفاده نمایید؛ تا تعداد بایتهایی که باید نمایش داده شود را مشخص کنید؛
b نشان دهنده 512 بایت،
kB نشان دهنده 1000 بایت،
K نشان دهنده 1024 بایت،
MB نشان دهنده 1000000 بایت،
M نشان دهنده 1048576 بایت و .... میباشد.
دستور زیر دو کیلوبایت آخر (2048 بایت آخر) فایل filename.txt را نمایش میدهد:
tail -c 2k filename.txt
نحوه مشاهده تغییرات اعمالشده روی یک فایل
برای نظارت کردن بر روی تغییراتی که بر روی یک فایل اعمال میشود، از گزینه -f (--follow) استفاده کنید:
tail -f filename.txt
خروجی این دستور مشابه زیر میباشد:
این گزینه مخصوص نظارت بر روی فایلهای گزارش است و در صورت اضافه شدن اطلاعات جدیدی به انتهای فایل، به صورت لحظهای تغییرات را مشاهده خواهید کرد؛ لازم به ذکر است این دستور پایان نمییابد و برای متوقف کردن آن، باید از کلیدهای CTRL + C استفاده کنید.
بهعنوانمثال میتوان برای نمایش 10 سطر آخر فایل /var/log/nginx/error.log و نظارت بر بهروزرسانیهایی که بر روی فایل صورت میگیرد، از دستور زیر استفاده کنید:
tail -f /var/log/nginx/error.log
برای ادامه دادن نظارت بر روی فایل هنگامیکه دوباره فایل ایجاد میشود، از گزینه -F استفاده کنید.
tail -F filename.txt
این گزینه در شرایطی قابل استفاده است که دستور tail برای یک فایل گزارشِ در حال گردش بین کاربران آمده باشد. هنگامیکه از گزینه -F استفاده میشود، دستور tail بهمحض اینکه دوباره فایل در دسترس قرار گیرد، آن را دوباره باز میکند.
نحوه نمایش چندین فایل
اگر چندین فایل بهعنوان ورودی دستور tail ارائه شده باشد، این دستور ده خط آخر هر فایل را نمایش میدهد:
tail filename1.txt filename2.txt
خروجی دستور بالا به صورت زیر میباشد:
میتوانید برای نمایش تمام فایلها از یک گزینه یکسان استفاده کنید؛ بهعنوانمثال، دستور زیر 20 سطر آخر فایلهای filename1.txt و filename2.txt را نشان میدهد:
tail -n 20 filename1.txt filename2.txt
نحوه استفاده از Tail به همراه سایر دستورات
دستورالعمل tail، میتواند همراه با سایر دستورات نیز استفاده شود؛ بهعنوانمثال برای نظارت بر فایل گزارش دسترسی به سیستم apache و تنها نمایش خطوطی که حاوی آدرس IP 192.168.42.12 میباشد، میتوانید از دستور زیر استفاده کنید:
tail -f /var/log/apache2/access.log | grep 192.168.42.12
مثالی دیگر: دستور ps زیر، ده فرایند در حال اجرایی را نشان میدهد؛ که بیشترین استفاده را از CPU دارند:
ps aux | sort -nk +3 | tail -5
نتیجهگیری
در حال حاضر شما باید درک خوبی از نحوه استفاده از دستور tail موجود در لینوکس داشته باشید. این دستور، مکمل دستور head است که خطوط اول یک فایل را در ترمینال چاپ میکند.
منبع: این
0 دیدگاه
نوشتن دیدگاه