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

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

آموزش دستور less در لینوکس برای نمایش محتوای فایل

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

با اینکه ابزارها و دستورات لینوکسی زیادی برای مشاهده فایل ها وجود دارد ولی اگر با یک فایل بزرگ سروکار دارید و دوست دارید به جای بارگذاری تمام محتویات به صورت یکجا، به صورت صفحه به صفحه به محتویات آن دسترسی پیدا کنید، دستور less در لینوکس همان دستوری است که دنبالش هستید.

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

دستور less نه تنها به افزایش سرعت بارگذاری محتوای فایل کمک می کند، بلکه امکانات پیشرفته ای را برای اسکرول به سمت عقب و جلو، جستجوی الگوها و مشاهده چند فایل به صورت یکجا ارائه می دهد که همه این ها باعث ایجاد یک تجربه عالی برای کاربران لینوکسی می شود. 

این دستور هم مثل اکثر دستورات لینوکسی، کاربردهای خاص خود را دارد. مخصوصاً اگر قصد پیاده سازی پروژه های سنگین با فایل های بزرگ دارید و دوست دارید پروسه بررسی و مشاهده آنها را در زمان کمتری جلو ببرید، توصیه می کنیم که با خرید سرور مجازی لینوکس (Linux VPS) و استفاده از دستورات کاربردی مثل دستور less بسیاری از کارها را برای خود راحت تر سازید و بیشتر روی اهداف و برنامه ریزی های خود تمرکز کنید.

آماده اید که دستور less در لینوکس و سینتکس و کاربردهای مختلف آن را بررسی کنیم؟ مطمئناً که آماده اید. پس بیایید شروع کنیم:

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

دستورات زیادی مثل nano و vim هستند که می توان از آنها برا مشاهده و ویرایش فایل های متنی استفاده کرد ولی وقتی بحث سرعت و تعامل بالا می شود، دستور less در لینوکس یک قدم جلوتر می گذارد.

با دستور less می توانید فایل های متنی بزرگ را بدون آپلود یکجا و به صورت صفحه به صفحه مشاهده کنید. همچنین، این ابزار دارای دستورات زیادی برای پیمایش محتوای فایل، مانیتور فایل به صورت real time و جستجوی متن موردنظر است که همه این امکانات برای افزایش سرعت مشاهده و بررسی فایل موردنظر هستند.

یک مزیت دیگر دستور less در لینوکس این است که این دستور فقط خواندنی “Read – only” است و احتمال ویرایش یا ایجاد تغییرات تصادفی در فایل موردنظر وجود ندارد و همین باعث می شود که به راحتی و بدون هیچ دغدغه ای از امکانات و آپشن های مختلف این دستور بهره ببرید.

پس اگر به دنبال یک دستور با انعطاف پذیری بیشتر برای پیمایش فایل ها و امکاناتی مثل مشاهده چند فایل، جستجوی متن، ایجاد و حذف بوک مارک ها و سازگار با ورودی پیپ ( | ) هستید و سرعت دسترسی به فایل ها و استفاده از امکانات برایتان خیلی مهم است، دستور less در لینوکس گزینه خوبی برای شماست.

پس اگر یک سیستم لینوکسی دارید و به ترمینال آن هم دسترسی دارید، دیگر وقت آن است که به صورت عملی با سینتکس و کاربرد دستور less آشنا شوید:

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

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

less [options] file_path

با اینکه این دستور بدون آپشن هم قابل اجرا است و محتویات فایل موردنظر را به صورت پیش فرض نمایش می دهد ولی آپشن های زیادی دارد که با استفاده از آنها می توانید نحوه رفتار دستور less در لینوکس را تغییر دهید و خروجی را مدیریت کنید. برخی این آپشن ها عبارت اند از:

E – خروج خودکار موقع رسیدن به انتهای فایل

f – باز کردن اجباری فایل های غیرعادی

g – هایلایت آخرین رشته ی جستجو یافته ( دستور less به طور پیش فرض تمام بخش های مطابق با متن جستجو شده را هایلایت می کند.)

G – حذف تمایل هایلایت ها

i – نادیده گرفتن حساسیت کوچک و بزرگ بودن حروف موقع جستجو

J – نمایش ستون وضعیت در سمت چپ صفحه

p – ارائه یک الگو برای شروع نمایش قسمت های منطبق با الگو

s – تبدیل خطوط خالی متوالی به یک خط خالی

N – نمایش شماره خطوط

X – ادامه نمایش خروجی در خط فرمان در صورت خروج از دستور less در لینوکس

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

less –help

man help

نحوه پیمایش خروجی دستور less

دستور less در لینوکس این امکان را به شما می دهد که با استفاده از برخی از کلیدهای کیبورد بتوانید متن خروجی را پیمایش کنید. جدول زیر حاوی مهم ترین میانبرهای کیبورد دستور less است:

میانبروظیفه
دکمه جهتی پایین، اینتر، e یا jانتقال به خط بعدی
دکمه جهتی بالا، y یا kبرگشت به خط قبلی
دکمه space یا fانتقال به صفحه بعدی
bبرگشت به صفحه قبلی
/pattern یا stringجستجوی الگو یا رشته متنی در فایل متنی به صورت forward
?pattern یا stringجستجوی الگو یا رشته متنی در فایل متنی به صورت backward
nمتن بعدی سازگار با الگو یا رشته جستجو
Nمتن قبلی سازگار با الگو یا رشته جستجو
Ngرفتن به N امین خط فایل
Npرفتن به بخش N درصدی از فایل
دکمه جهتی راستاسکرول به سمت راست
دکمه جهتی چپاسکرول به سمت چپ
gپرش به ابتدای فایل
Gپرش به انتهای فایل
qخروج از دستور less

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

حالا دیگر وقت آن است که نحوه استفاده از دستور less لینوکس و آپشن های آن را به صورت عملی و با استفاده از مثال های کاربردی یاد بگیرید:

نحوه باز کردن یک فایل

برای اینکه فایل موردنظر خود را با استفاده از دستور less باز کنید، باید مسیر آن را در دستور less لحاظ کنید:

less /etc/updatedb.conf

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

نمایش شماره خطوط

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

less -N /etc/init/mysql.conf

جستجوی یک رشته متنی با دستور less در لینوکس

دستور less در لینوکس این امکان را به شما می دهد که رشته متنی موردنظر را در یک فایل متنی جستجو کنید و سپس بخش های حاوی آن رشته را به صورت هایلایت شده به شما نشان می دهد. 

کلیک کنید  حافظه Swap چیست؟ آموزش ایجاد و استفاده از Swap File در لینوکس

ابتدا باید فایل را باز کنید.

حالا اگر می خواهید این جستجو را به صورت forward یا رو به جلو انجام دهید، باید از / استفاده کنید و سپس متن موردنظر را وارد کنید و کلید Enter را بزنید.

اگر هم می خواهید بخش قبل از اشاره گر را جستجو کنید یعنی جستجوی backward یا رو به عقب انجام دهید، باید از ? استفاده کنید و سپس متن موردنظر را وارد کنید و کلید Enter را بزنید.

باز کردن فایل با یک الگوی جستجو

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

* این آپشن نسبت به بزرگ و کوچک بودن حروف، حساس است.

* بین آپشن p و الگوی موردنظر، فاصله ای وجود ندارد.

less -pERROR /etc/init/mysql.conf

حذف خطوط خالی

اگر فایل شما حاوی خطوط خالی پشت سر هم است و می خواهید با حذف آنها، فضای بیشتری برای نمایش محتوای اصلی و مهم در هر صفحه داشته باشد، کافیست آپشن s را در دستور لحاظ کنید تا تمام خطوط خالی پشت سر هم به یک خط خالی تبدیل شوند:

less -s welcome.txt

باز کردن همزمان چند فایل

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

less -s welcome.txt

این دستور، ابتدا فایل اول را باز می کند و برای رفتن فایل بعدی، کافیست : را وارد کنید و سپس n را وارد کنید و اینتر را بزنید.

با p: هم می توانید به فایل قبلی برگردید.

علامت گذاری فایل 

اگر موقع بررسی فایل متنی موردنظر، به بخش خاصی رسیده اید که می خواهید آن را علامت گذاری کنید تا بعداً راحت تر و سریع تر بتوانید به آن بخش برگردید، کافیست بخش موردنظر را انتخاب کنید و سپس، کلید m را فشار دهید.

بعد که خط فرمان set mark باز شد، حرف کوچک دلخواهی برای آن وارد کنید و اینتر را بزنید.علامت گذاری متن

* برای علامت گذاری های بیشتر از حروف کوچک متفاوت استفاده کنید.

حالا اگر می خواهید به بخش موردنظر بروید، کافیست ‘ را وارد کنید و سپس در بخش go to mark، حرف کوچکی که برای آن بخش انتخاب کرده بودید را وارد کنید.

رفتن به بخش علامت گذاری شده با دستور less در لینوکس

نگهداری فایل در خط فرمان بعد از خروج از less

اگر می خواهید از خط فرمان دستور less در لینوکس خارج شوید ولی همچنان به محتوای فایلی که باز کرده بودید نیاز دارید، حتماً باید از آپشن X استفاده کنید چون در حالت پیش فرض، با فشردن کلید q و خروج از دستور less، محتویات صفحه هم بسته می شود.

less -X /etc/init/mysql.conf

مانیتور فایل متنی به صورت real time

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

less +F /var/log/syslog

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

برای خروج از این حالت و برگشتن به حالت استاندارد تعاملی less می توانید از کلید ترکیبی Ctrl+C استفاده کنید.

نمایش ورودی پیپ شده از یک دستور دیگر

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

به عنوان مثال، دستور dmesg پیام های و گزارشات هسته را نمایش می دهد و از آنجا که این گزاراشات طولانی و حجیم هستند، بهترین ایده این است که خروجی این دستور را به less پیپ کنید تا این گزاراشات به صورت صفحه به صفحه (نه یکجا) نمایش داده شوند:

sudo dmesg | less

با فشردن کلیک ایند End می توانید خروجی را رفرش کنید و پیام های جدید را ببینید. یا اینکه از آپشن F برای خودکارسازی پروسه رفرش و نمایش real time خروجی استفاده کنید:

sudo dmesg | less +F

این دستور، آخرین صفحه فایل را باز می کند و منتظر داده های جدید می ماند تا این صفحه را آپدیت کند.

یا برای جستجوی یک الگو در فایل گزارشات هسته می توانید از p استفاده کنید:

dmesg | less -p "fail"

ویرایش فایل ها

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

سخن آخر

دستور less در لینوکس، یکی از پرکاربردترین دستورات برای مشاهده فایل های متنی بزرگ است. این دستور برای نمایش فایل متنی از تکنیک صفحه به صفحه استفاده می کند و دیگر نیازی نیست که کل محتوای یک فایل به صورت یکجا در ترمینال بارگذاری شود. همین ویژگی باعث افزایش سرعت این دستور می شود که البته، امکانات و آپشن های دیگری هم وجود دارد که با استفاده از آنها می توانید رفتار دستور less را کنترل کنید.

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

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

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

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

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

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