فهرست مطالب
وقتی در محیط ترمینال فایلی را با دستور سنتی 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 مصرف کند.




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