شما برای مطالعه این مقاله فقط 4 دقیقه وقت نیاز دارید

head-command-in-linux
دسته بندی : آموزش لینوکس

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

5/5 - (1 امتیاز)

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

وظیفه پیش فرض دستور head، نمایش ۱۰ خط اول فایل ورودی است ولی شما با استفاده از آپشن های متنوع این دستور می توانید رفتار آن را متناسب با نیاز خود سفارشی سازی کنید.

اگر می خواهید صاحب یک سرور حرفه ای شوید و مشکلی از بابت اجرای انواع دستورات لینوکس نداشته باشید، می توانید از صفحه خرید سرور مجازی لینوکس دیدن کنید.

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

سینتکس پایه این دستور به صورت زیر است:

head [Option] [File]

Optionها برای تعیین رفتار دستور head در مقابل فایل ورودی به کار می روند که استفاده از آنها هم کاملاً اختیاری است.

File هم حاوی اسم فایل یا فایل هایی است که قصد بررسی بخش اول آن را دارید. اگر هیچ فایلی را مشخص نکنید، دستور منتظر می ماند تا شما موردنظر را تایپ کنید و اینتر را بزنید تا ۱۰ خط اول آن را به شما نمایش دهد.

آپشن های دستور head

آپشنکاربرد
c- یا byte–تعیین تعداد بایت موردنظر برای پرینت
n- یا lines–تعیین تعداد خطوط موردنظر برای پرینت
q- یا quit–حذف عناوین از خروجی
v- یا verbose–نمایش جزئیاتی مثل عنوان و اسم فایل همراه خروجی
version–نمایش نسخه دستور head

برای دسترسی به اطلاعات بیشتر در مورد دستور head می توانید از دو دستور زیر کمک بگیرید:

man head

head -h

مثال های کاربردی از دستور head در لینوکس

کاربرد دستور head در لینوکس با مثال هایی که در ادامه بررسی می کنیم، قابل درک تر خواهد بود. پس ابتدا با دستور cd در مسیر فایل یا فایل های موردنظر قرار بگیرید و سپس دستورات زیر را امتحان کنید:

مشاهده ۱۰ خط اول یک فایل

دستور head در حالت پیش فرض ۱۰ خط اول فایل ورودی را نمایش می دهد پس برای اینکه ۱۰ خط اول یک فایل را ببینید، نیازی نیست که آپشن دیگری را به سینتکس این دستور اضافه کنید:

head file.txt

اگر در مسیر فایل موردنظر نیستید، می توانید به طور مستقیم مسیر فایل را هم در دستور لحاظ کنید:

head /home/documents/file.txt

برای نمایش اسم فایل همراه با خروجی، باید آپشن v- را به دستور اضافه کنید:

head -v file.txt

مشاهده ۱۰ خط ابتدایی چند فایل

برای اینکه ۱۰ خط مربوط به چند فایل را به صورت یکجا ببینید، کافیست اسم فایل ها را به صورت زیر در دستور head لحاظ کنید:

head file1.txt file2.txt file3.txt file4.txt

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

اگر تمایلی به تفکیک خروجی آنها ندارید، می توانید آپشن q را به دستور اضافه کنید:

Head -q file1.txt file2.txt file3.txt file4.txt

تعیین تعداد خط موردنظر از فایل ورودی برای نمایش در خروجی

اگر می خواهید به جای ۱۰ خط، تعداد خط نمایشی را خودتان مشخص کنید، کافیست از آپشن n استفاده کنید:

head -n 30 file.txt

این دستور ۳۰ خط اول فایل موردنظر را به شما نمایش می دهد.

کلیک کنید  رمزگذاری فایل و دایرکتوری در لینوکس

البته با اجرای دستور زیر هم می توانید به همان نتیجه دست پیدا کنید:

head -30 file.txt

مشاهده تعداد بایت دلخواه از ابتدای فایل موردنظر

اگر می خواهید به جای تعداد خط، تعداد بایت را مشخص کنید و خروجی را بر اساس تعداد بایتی که در دستور لحاظ کرده اید ببینید، کافیست از آپشن c استفاده کنید:

head -c 100 file.txt

در صورت تمایل می توانید واحد موردنظر برای نمایش بایت ها را هم در دستور head لحاظ کنید.

به عنوان مثال اگر می خواهید ۵ کیلوبایت (۵ * ۲۰۴۸ =  10240 بایت) از ابتدای فایل را ببینید، کافیست دستور head را به صورت زیر اجرا کنید:

head -c 5k file.txt

ترکیب دستور head با دستورات دیگر

یکی از زیبایی های دنیای لینوکس این است که با استفاده از عملگر پایپ (|) می توانید دستورات را به هم وصل کنید و از این طریق، کاربرد دستورات را به سطح بالاتری ارتقا دهید. 

بیایید با چند نمونه از ترکیباتی که با دستور head قابل انجام هستند را بررسی کنیم:

نمایش خطوط حاوی یک کاراکتر یا الگوی خاص

اگر می خواهید خطوط حاوی کاراکتر یا الگوی خاص را در خروجی head ببینید، می توانید head و grep را با هم ترکیب کنید.

به عنوان مثال اگر می خواهید فقط خطوط حاوی ch را در خروجی دستور head ببینید، می توانید از دستور زیر استفاده کنید:

head file.txt | grep ch

مشاهده تعداد خط، کلمات و بایت های خروجی head

برای این کار کافیست دستور head را با wc پایپ کنید تا خروجی دستور head به عنوان ورودی wc عمل کند و wc هم تعداد خط، کلمات و بایت های آن را محاسبه کند.

head file.txt | wc

ترکیب دستور head و tail

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

به عنوان مثال برای مشاهده محتوای خط ۵ تا ۱۰ فایل موردنظر می توانید از دستور زیر استفاده کنید:

head -n 10 file.txt | tail -n 5

این دستور ابتدا ۱۰ خط اول را از فایل موردنظر برمی دارد و به دستور tail پایپ می کند و دستور tail هم ۵ خط انتهایی این ۱۰ خط را در خروجی نشان می دهد.

فیلتر خروجی مربوط به دستور ls

اگر می خواهید از دستور ls برای مشاهده لیست محتویات یک فولدر استفاده کنید و فقط به چند مورد ابتدایی این لیست نیاز دارید، می توانید دو دستور ls و head را به شکل زیر با هم پایپ کنید:

ls | head -n 5

این دستور ۵ آیتم ابتدایی لیست را به شما نشان می دهد.

برای مرتب سازی خروجی دستور بالا بر اساس حروف الفبا هم می توانید از دستور sort استفاده کنید:

ls | head -n 5 | sort

در حالت کلی، دستور head کاربرد ساده ای دارد ولی اگر بتوانید این دستور را به صورت ترکیبی استفاده کنید، می توانید کارایی دستورات را تا حد زیادی ارتقا دهید و شرایط را به نفع خود تغییر دهید.

سخن آخر

دستور head در لینوکس برای نمایش ۱۰ خط اول فایل یا فایل های موردنظر به کار می رود و این شما هستید که می توانید با اضافه کردن آپشن های موردنظر یا ترکیب آن با دستورات دلخواه، رفتار آن را تعیین کنید.

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید