ابزار bat چیست و چه تفاوتی با دستور cat دارد
معرفی ابزار

ابزار bat چیست و چه تفاوتی با دستور cat دارد

ابزار bat جایگزینی مدرن برای cat در ترمینال است که برجسته‌سازی سینتکس و یکپارچگی با گیت را ارائه می‌دهد.

تحریریه‌ی دینا کد
نویسنده
۵ دقیقه مطالعه۰ بازدید
اشتراک گذاری۰
فهرست مطالب
  1. ۱ابزار bat چه کار می‌کند
  2. ۲چه کسانی به این ابزار نیاز دارند
  3. ۳نحوه نصب bat
  4. ۴اجرای اولین دستور و خروجی آن
  5. ۵تفاوت‌های اصلی با دستور cat
  6. ۶محدودیت‌های واقعی ابزار

وقتی در محیط ترمینال فایلی را با دستور سنتی cat باز می‌کنید، خروجی معمولاً توده‌ای از متن تک‌رنگ و فاقد شماره خط است. خواندن کدهای طولانی یا پرونده‌های پیکربندی در این حالت زمان زیادی می‌گیرد. ابزار bat پروژه‌ای متن‌باز به زبان Rust است که سازندگانش آن را «شبیه‌ساز cat با بال‌های پرواز» توصیف می‌کنند؛ ابزاری که همان کار نمایش محتوا را با رنگ‌آمیزی کد و امکانات خط فرمان امروزی انجام می‌دهد.

ابزار bat چه کار می‌کند

دستور bat محتوای فایل‌ها را مستقیماً در خط فرمان نمایش می‌دهد، اما پیش از چاپ متن، زبان فایل را تشخیص داده و سینتکس آن را برجسته می‌کند. علاوه بر این، bat خطوط فایل را شماره‌گذاری می‌کند و اگر تغییری در فایل رخ داده باشد، با اتصال خودکار به گیت، نشانه‌های تغییر را در حاشیه چپ به تصویر می‌کشد.

اگر خروجی فایل بزرگ‌تر از ارتفاع پنجره ترمینال شما باشد، bat فایل را به صفحه‌بند پیش‌فرض (مثل less) هدایت می‌کند تا بتوانید در متن پیمایش کنید. هنگامی هم که خروجی را با پایپ به دستور دیگری بفرستید، bat به‌طور خودکار رفتاری کاملاً سازگار با cat ساده نشان می‌دهد و کدهای رنگی اضافی تولید نمی‌کند.

چه کسانی به این ابزار نیاز دارند

توسعه‌دهندگانی که مدام در محیط سرور لینوکس یا خط فرمان فایل‌های پروژه را بررسی می‌کنند، مدیران سیستمی که پرونده‌های پیکربندی حجیم مانند YAML یا Nginx را بازبینی می‌کنند و کاربرانی که ترجیح می‌دهند بدون باز کردن یک ویرایشگر سنگین، پیش‌نمایش تمیزی از کدهای خود ببینند به این ابزار نیاز دارند. اگر در حال یادگیری کنترل نسخه هستید یا در دوره‌هایی مثل گیت و گیت‌هاب تعاملی وضعیت تغییرات فایل‌ها را دنبال می‌کنید، علائم حاشیه‌ای این ابزار بررسی diff را در ترمینال ساده‌تر می‌کند.

نحوه نصب bat

این ابزار در مخازن بیشتر سیستم‌های عامل وجود دارد. در سیستم‌های مبتنی بر اوبونتو و دبیان می‌توانید آن را با دستور زیر نصب کنید:

bashsudo apt install bat

نکته مهم در دبیان و اوبونتو این است که به‌دلیل تداخل نام با یک بسته قدیمی دیگر، فایل اجرایی به‌صورت batcat نصب می‌شود. با ایجاد یک alias در فایل bashrc می‌توانید آن را با نام bat صدا بزنید:

bashalias bat='batcat'

در سیستم‌عامل macOS با پکیج منیجر Homebrew نصب به‌سادگی انجام می‌شود:

bashbrew install bat

همچنین اگر روی سیستم خود ابزار مدیریت پکیج Rust یعنی Cargo را داشته باشید، نصب مستقیم از سورس امکان‌پذیر است:

bashcargo install --locked bat

اجرای اولین دستور و خروجی آن

برای مشاهده یک فایل کد پایتون یا تنظیمات، کافی است نام فایل را در ورودی به bat بدهید:

bashbat main.py

خروجی در ترمینال کادری زیبا با شماره خط، حاشیه مرتب و رنگ‌آمیزی متناسب با کلیدواژه‌های پایتون خواهد بود. همچنین می‌توانید چند فایل را هم‌زمان به آن بسپارید یا خروجی ابزارهای دیگر را با پایپ به آن بفرستید:

bashcurl -s https://api.github.com | bat -l json

پرچم -l نوع زبان محتوا را برای قالب‌بندی صحیح به برنامه اعلام می‌کند.

تفاوت‌های اصلی با دستور cat

دستور cat دهه‌ها پیش برای الحاق و نمایش ساده جریان‌های متنی طراحی شد و تغییری در ظاهر متن ایجاد نمی‌کند. ابزار bat سه ویژگی اساسی به این فرایند می‌افزاید:

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

محدودیت‌های واقعی ابزار

ابزار bat با وجود همه مزایا ابزاری همه‌منظوره نیست. در سرورهای حداقلی و محیط‌های ایزوله سازمانی ممکن است پکیج آن در دسترس نباشد و باید به همان دستور پایه‌ای cat اتکا کنید. همچنین اگر ترمینال شما از کدهای رنگی استاندارد ANSI پشتیبانی نکند یا قلم ترمینال نامناسب باشد، حاشیه‌ها و نمادها ممکن است به‌درستی دیده نشوند. پردازش فایل‌های بسیار حجیم چندصد مگابایتی برای سینتکس هایلایتینگ نیز می‌تواند حافظه و پردازنده بیشتری نسبت به دستور سبک cat مصرف کند.

تحریریه‌ی دینا کد
نویسنده

نظرها

اولین نفری باشید که نظر می‌دهد
برای ثبت نظر وارد شوید

سؤالتان را بپرسید یا تجربه‌تان را بنویسید تا نویسنده‌ی مطلب پاسخ بدهد.

مطالب مرتبط

از همین دسته
fzf چیست و چطور جستجوی خط فرمان را تعاملی می‌کند
معرفی ابزار

fzf چیست و چطور جستجوی خط فرمان را تعاملی می‌کند

ابزار fzf امکان فیلتر کردن سریع و تعاملی ورودی‌ها را در ترمینال فراهم می‌کند و فرآیند پیدا کردن فایل‌ها یا تاریخچه دستورها را سرعت می‌بخشد.

تحریریه‌ی دینا کد۴ دقیقه
ابزار bat چیست و چه فرقی با cat دارد — دینا کد