
صف فرمان در لینوکس یکی از دستورات کاربردی و مهم محسوب می شود. دستور Tail ده خط آخر یک فایل را به شما نشان می دهد. برای مثال، فرض کنید می خواهید خروجی یک فایل طولانی را مشاهده کنید. با این دستور می توانید تعداد مشخصی از خطوط یا بایت های هر فایل را مشاهده کنید. در دستور tail مانند دستور head لینوکس، تعداد کلمات بر اساس حروف الفبا مرتب شده است. همانطور که فرمان head ده خط اول فایل را به شما نشان می دهد، دستور tail ده خط آخر فایل را به شما نشان می دهد. در این مقاله وبلاگ پارس پک نحوه استفاده از دستور tail را به شما آموزش می دهیم. با مطالعه این مقاله می توانید تعداد خطوط یا تعداد بایت های خروجی از یک فایل و تغییرات آن را در یک زمان مشاهده کنید.
معرفی دستور Tail در لینوکس
به طور پیش فرض، دستور tail ده خط آخر فایل را به شما نشان می دهد. بنابراین، می توان از آن برای مشاهده، نظارت و تجزیه و تحلیل فایل های طولانی استفاده کرد. نحو یا ساختار دستور tail به شرح زیر است:
tail [OPTION] [FILE]
در دستور دم لینوکس، OPTION به گزینه های دستوری مورد نیاز شما اشاره دارد. برای مثال نمایش پنجاه خط آخر و تعداد بایت ها و نمایش چند فایل که در ادامه مقاله توضیح خواهیم داد. [OPTION] در نظر گرفته شده است. معنای [FILE] همچنین نام فایلی است که می خواهید خروجی آن را ببینید.
در این دستور دو کلمه Option و File را داخل پرانتز قرار می دهیم [] یعنی اختیاری است. این بدان معناست که می توانید از این دستور بدون گزینه و فقط با نام فایل به صورت زیر استفاده کنید:
tail filename.txt
بنابراین، بدون تعیین OPTION، دستور tail ده خط آخر فایل نام فایل را به شما نشان می دهد.
آشنایی با دستور دم
آموزش استفاده از دستور 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 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 ده خط آخر یک فایل را نمایش می دهد.