تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

خط فرمان لینوکس – نمایش محتویات فایل با دستور less

نمایش محتویات فایل با less

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

“متن” چیست؟

راه‌های زیادی برای نمایش اطلاعات روی یک کامپیوتر وجود دارد. همه (این) روش‌ها شامل تعریف یک رابطه بین اطلاعات و تعدادی عدد هستند که برای نشان دادن آن (اطلاعات) به کار می‌روند. در واقع کامپیوترها فقط اعداد را درک می‌کنند و تمام داده ها به نمایش عددی تبدیل می‌شوند.

برخی از این سیستم های نمایش، بسیار پیچیده هستند (مانند فایل های ویدئویی فشرده)، در حالی که برخی دیگر نسبتاً ساده هستند. یکی از قدیمی‌ترین و ساده‌ترین (آن‌ها) متن ASCII نام دارد. ASCII (با تلفظ “اَسکی”) کوتاه شده American Standard Code for Information Interchange (کد استاندارد آمریکایی برای تبادل اطلاعات) است. این یک طرح رمزنگاری ساده است که برای اولین بار در ماشین‌های تله‌تایپ (Teletype) برای نگاشت کاراکترهای صفحه کلید به اعداد استفاده شد.

متن، یک نگاشت ساده یک به یک از کاراکترها به اعداد است. این، (روشی) بسیار فشرده و جمع و جور است. پنجاه کاراکتر متن به پنجاه بایت داده ترجمه می‌شود. درک این نکته مهم است که متن فقط شامل یک نگاشت ساده از کاراکترها به اعداد است. این مانند یک سند واژه پرداز مشابه آنچه توسط Microsoft Word یا LibreOffice Writer ایجاد شده، نیست. چنین فایل‌هایی، برخلاف متن اسکی ساده، حاوی تعداد زیادی اجزای غیر متنی هستند که برای توصیف ساختار و قالب‌بندی آن استفاده می‌شوند. فایل‌های متنی اسکی ساده فقط شامل خود کاراکترها و چند کد کنترل ابتدایی مانند تب ها، برگشت به ابتدای خط (carriage return) و رفتن به خط بعد (line feed) هستند.

در سراسر یک سیستم لینوکس، بسیاری از فایل‌ها در قالب متن نگه‌داری می‌شوند و ابزارهای لینوکس بسیاری وجود دارند که با فایل‌های متنی کار می‌کنند. حتی ویندوز هم اهمیت این فرمت را به رسمیت می‌شناسد. برنامه مشهور NOTEPAD.EXE یک ویرایشگر برای فایل های متنی اسکی ساده است.

چرا می‌خواهیم فایل های متنی را بررسی کنیم؟ چون بسیاری از فایل‌هایی که حاوی تنظیمات سیستم هستند (موسوم به فایل‌های پیکربندی) در این قالب نگه‌داری می‌شوند و توانایی خواندن آنها به ما بینشی در مورد نحوه عملکرد سیستم می‌دهد. علاوه بر این، برخی از برنامه های واقعی که سیستم (از آن‌ها) استفاده می‌کند (موسوم به اسکریپت) در این قالب نگه‌داری می‌شود. در فصل‌های بعدی، نحوه ویرایش فایل‌های متنی برای تغییر تنظیمات سیستم و نوشتن اسکریپت‌های خودمان را یاد می‌گیریم، اما در حال حاضر فقط به محتویات آنها نگاه می‌کنیم.

دستور less به شکلی مشابه (الگوی) زیر استفاده می‌شود:

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

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

مثالی از استفاده دستور less برای نمایش محتویات فایل حاوی اطلاعات تعریف کننده تمام حساب های کاربری

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

جدول زیر متداول‌ترین دستورات صفحه کلید مورد استفاده توسط less را فهرست می‌کند.

جدول 3-3: دستورات less

دستور عمل
Page Up یا b اسکرول یک صفحه به سمت عقب
Page Down یا space اسکرول یک صفحه به سمت جلو
کلید پیکانی بالا اسکرول یک خط به سمت بالا
کلید پیکانی پایین اسکرول یک خط به سمت پایین
G رفتن به انتهای فایل متنی
1G یا g رفتن به ابتدای فایل متنی
/characters جستجوی رو به جلو برای وقوع بعدی characters
n جستجو برای وقوع بعدی جستجوی پیشین
h نمایش صفحه راهنما
q خروج از less

less (جایگزین) more است

برنامه less به عنوان جایگزینی بهبود یافته برای یک برنامه قبلی یونیکس به نام more طراحی شده است. نام “less” یک بازی با عبارت “less is more” (به معنی “کمتر، بیشتر است”) – یکی از شعارهای معماران و طراحان نوگرا – است.

less در دسته برنامه‌هایی موسوم به برنامه های “پیجر” (Pager) قرار می‌گیرد که امکان نمایش آسان اسناد متنی طولانی را به صورت صفحه به صفحه فراهم می‌کنند. در حالی که برنامه more فقط امکان رفتن به صفحه‌های بعدی را مهیا می‌کند، برنامه less اجازه صفحه‌بندی به جلو و عقب را فراهم می‌کند و همچنین دارای بسیاری از ویژگی‌های دیگر است.


متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *