Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.

لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

8 حقائق تجعل أمر bat في لينكس أفضل من أمر cat

معظم مستخدمي لينكس يعرفون أمر cat جيدًا، فهو الطريقة الأبسط لعرض محتوى الملفات النصية في الطرفية. لكن مع الوقت، ظهر بديل ذكي وأكثر تطورًا يُدعى bat، يجمع بين البساطة والميزات المتقدمة التي افتقدها cat.

a-linux-terminal-with-some-commands لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته
bat لا يكتفي بعرض النصوص فقط، بل يضيف تلوينًا تلقائيًا للكود، وأرقام الأسطر، وإمكانية دمج الملفات مع أدوات مثل Git بطريقة مريحة وجذابة بصريًا.
كثير من المستخدمين الذين جربوه مرة واحدة لم يعودوا إلى cat بعدها، لأنه يقدم تجربة قراءة وتنظيم تفوق التوقعات.
في السطور القادمة سنستعرض الأسباب التي جعلت bat يتفوق على cat، وكيف يمكنك تثبيته واستخدامه لتجعل عملك في الطرفية أسرع وأكثر وضوحًا.

يصف برنامج bat نفسه بأنه “نسخة طبق الأصل من قطة بأجنحة”، وهو تشبيه طريف، ولكنه مضلل بعض الشيء. bat أداة ذات غرضين رئيسيين: تمييز بناء الجملة ووضع علامات على اختلافات git.

لفهم كيفية استخدام bat على النحو الأمثل، ستوضح لك هذه الأمثلة كيفية عمل الأمر وما تتيحه لك خياراته المختلفة.

bat يُميز بناء الجملة افتراضيًا

لتوضيح وظيفة bat الأساسية، ما عليك سوى تشغيله على ملف شفرة مصدرية باللغة التي تختارها، على سبيل المثال:

bat tile.js

بالنسبة للملف القصير، سيرسل لك bat الإخراج ويعيدك إلى موجه الأوامر الخاص بك:

 

linux-bat-plain لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

أهم ما يفعله bat في هذه الحالة هو إضافة تمييز لغوي إلى ملفك باستخدام ألوان ANSI. ويمكنه القيام بذلك مع العديد من اللغات، بدءًا من C وHTML وMarkdown.

linux-bat-theme لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

نصيحة
لعرض جميع قواعد اللغة التي يدعمها bat، استخدم خيار –list-languages.

يمكنك استخدام خيار –theme لتغيير الألوان المحددة التي يستخدمها bat. على سبيل المثال، إليك بداية الملف السابق مُظللاً باستخدام سمة gruvbox-dark:

linux-bat-markdown لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

تحذير
على الرغم من أن bat يصف نفسه بأنه “نسخة طبق الأصل من cat”، إلا أنه ليس كذلك في الواقع. يمكنك استخدام أمر cat بطرق عديدة، لكن هدفه الأصلي كان دمج الملفات (تسلسلها). يظل cat الأداة الأفضل لهذا الغرض، لكن bat يُحسّن استخدامه كعارض ملفات.

اقرأ أيضا:  أشياء مفيدة يمكنك القيام بها في Terminal دون الحاجة للمتصفح

bat يستخدم جهاز استدعاء بذكاء
إذا كان الملف طويلًا جدًا بحيث لا يتسع في نافذة الأوامر، فسيستخدم bat جهاز استدعاء لعرض نسخة تفاعلية. سيعمل هذا تمامًا مثل جهاز الاستدعاء الذي تستخدمه لعرض صفحات الدليل، بشرط أن يكون هو نفسه. افتراضيًا، سيستخدم bat كمية أقل، ولكن لديك خياران لاستخدام بديل:

غيّر متغير PAGER أو استخدم BAT_PAGER إذا كنت تريد أن يستخدم bat جهاز استدعاء مختلفًا عن البرامج الأخرى.
استخدم الخيار –pager لتحديد أمر (أو مسار لبرنامج). يمكنك القيام بذلك من خلال سطر الأوامر أو في ملف إعدادات bat.
قد تجد أن استخدام الخفاش لجهاز النداء أحيانًا، وعدم استخدامه له أحيانًا أخرى، أمرًا مُربكًا أو مُشتتًا للانتباه. في هذه الحالة، يمكنك استخدام الخيار –paging لتغيير هذا السلوك:

bat --paging=always README.md

ملاحظة
هناك عدة طرق مختلفة لإعداد جهاز الاستدعاء باستخدام bat وخياري –paging و–pager. راجع وثائق bat (man bat) لمزيد من التفاصيل.

bat يُرقّم الأسطر افتراضيًا

يعرض bat أيضًا أرقام الأسطر افتراضيًا بجانب ملفك. قمتُ بتعطيل هذه الميزة في لقطات الشاشة السابقة لتسهيل الاستخدام؛ إليك مثال على السلوك الافتراضي الفعلي:

linux-bat-colors-numbers لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

ترقيم الأسطر مفيد لتتبع موقعك داخل الملف. لا يعرض مُستقبِل الصفحات الأقل هذه المعلومات افتراضيًا، على الرغم من أن معظم البدائل تُظهر ذلك. يُعد ترقيم الأسطر مفيدًا بشكل خاص عند فحص الكود المصدري ومحاولة تتبع خطأ في سطر معين. يمكنك استخدام الخيار -p لتعطيل ترقيم الأسطر أو الخيار -n لإظهار أرقام الأسطر فقط.

يمكن لبرنامج bat تمييز الأسطر أو النطاقات
يصبح ترقيم الأسطر في bat أكثر فعالية عند دمجه مع تمييز الأسطر، والذي يمكنك استخدامه على سطر واحد فقط أو على مجموعة من النطاقات. يحتوي الخيار –highlight-line على بعض الاختلافات؛ إليك مثال:

bat --highlight-line=7 --highlight-line=14:15 README.md

سيؤدي هذا إلى تسليط الضوء على السطر 7 والأسطر 14-15 باستخدام لون خلفية بديل:

اقرأ أيضا:  هل ما زال تجميع نواة Linux ضروريًا اليوم؟

linux-bat-highlight-line لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

يتيح لك خيار مشابه، –line-range، عرض أسطر أو نطاقات معينة فقط:

linux-bat-line-range لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

بالطبع، يمكنك الجمع بين الاثنين لعرض جزء من الملف وتسليط الضوء على أسطر محددة في نفس الوقت:

linux-bat-line-range-highlight لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

يعمل bat بشكل جيد مع Git

إذا كنت تستخدم bat لعرض الكود المصدري، فسيسعدك معرفة أنه يدعم Git بشكل ممتاز. سيعرض bat التغييرات على الملف إذا اكتشف وجوده في مستودع Git:

 

linux-bat-git-changes لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

سيعرض bat رموزًا مألوفة في الهامش الأيسر لكل سطر مُغيّر للإشارة إلى ما إذا كان جديدًا (+)، أو مُحذوفًا (-)، أو مُعدّلًا (~). يمكنك استخدام علامة –diff (-d) لإعلام bat بعرض الأسطر التي طرأت عليها تغييرات فقط، بالإضافة إلى بعض أسطر السياق المحيطة بها. تُعد هذه ميزة رائعة لمراجعة تغييرات الكود أو مُتابعة مشروعك المُستَقبل.

يتصرف bat بذكاء إذا كان ضمن مسار

لقد رأينا كيف يستخدم bat بعض الحس السليم لتحديد ما إذا كان سيستخدم جهاز استدعاء، ولكن الأداة تتميز ببعض الميزات الذكية الأخرى. على وجه الخصوص، أكثرها فائدة هي قدرته على اكتشاف نوع المُخرجات الأنسب.

يقوم bat بذلك عن طريق التحقق مما إذا كان مُخرجه يُرسل إلى محطة طرفية غير تفاعلية: إذا كان مُوجّهًا إلى عملية أخرى أو إلى ملف، على سبيل المثال. في هذه الحالات، ربما لن ترغب في تمييز بناء الجملة الخاص بـ bat، لذلك سيُخفي رموز الألوان الخاصة التي يُخرجها عادةً. في هذا الوضع، يعمل الأمر كـ cat، حيث يُعطّل جميع الزخارف، بما في ذلك أرقام الأسطر وإبرازات النطاق.

لا يزال بإمكانك إجبار bat على إنتاج مُخرَجات مُنسَّقة، حتى لو كان ضمن مسار. هذا مفيد إذا كنت تعرف أن الأمر الذي تُمرِّر إليه المُخرَجات يُمكنه التعامل مع رموز ألوان ANSI، مثل أداة النداء الأكثر شيوعًا، على سبيل المثال:

bat -f README.md | most

يُلزم خيار –force-colorization (-f) bat بالاحتفاظ بجميع الألوان والزخارف، لذا فهو عكس خيار –plain (-p).

يعمل bat بشكل جيد مع man أيضًا

بما أنه يمكنك تكوين جهاز الاستدعاء الذي يستخدمه man لعرض التعليمات في أوامر Linux، يمكنك أيضًا ضبطه لاستخدام bat للحصول على نتائج أفضل:

اقرأ أيضا:  كيف يساعدك Linux على أن تصبح مطورًا أفضل

linux-bat-man-git لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

للقيام بذلك، قم بتشغيل man وتعيين MANPAGER مثل هذا:

MANPAGER="sh -c 'col -bx | bat -l man -p'" man ls

يحتاج هذا الأمر إلى بعض الشرح، فهو يقوم بالعديد من المهام. أولاً، يُعيّن متغير MANPAGER، ثم يُشغّل “man ls” في النهاية. هذه الصيغة (“NAME=VALUE command”) هي طريقة سهلة لتعيين متغير بيئة للأمر التالي.

قيمة MANPAGER هي استدعاء لـ sh (واجهة المستخدم الافتراضية) مع الخيار -c لتشغيل أمر. بدوره، يُشغّل هذا الأمر برنامجين، col وbat، مع توجيه مخرجات البرنامج الأول إلى مدخلات البرنامج الثاني. يُساعد برنامج col على تنظيف بعض أحرف التنسيق، ويُشغّل bat مع الخيار -l man لاستخدام صيغة man للتلوين. يستخدم الخيار -p أسلوبًا بسيطًا، وهو ما يُناسب صفحات الدليل.

نصيحة
يمكنك تعيين متغير MANPAGER بشكل دائم في ملف تكوين المستخدم لتجنب الحاجة إلى تعلم وكتابة هذا الأمر بالكامل!

يحتوي bat على بعض خيارات التكوين المفيدة جدًا

ربما لاحظت الآن أن bat قابل للتكوين بشكل كبير. بعض خياراته مفيدة، مثل –list-languages. يمكنك استخدام –config-file لطباعة موقع ملف تكوين الخفاش، على سبيل المثال.

linux-bat-list-themes-2 لماذا يفضل مستخدمو لينكس أمر bat على cat بعد تجربته

إذا كنت تبحث عن نظام ألوان مختلف (لكل منا ألوانه المفضلة)، فجرب خيارات –list-themes. من المثير للاهتمام أن هذا الناتج يستخدم الزخارف والتلوين، ويمكنك تعطيلهما باستخدام الخيارات القياسية:

تدعم الأداة أيضًا بعض الخيارات البسيطة للتحكم في تفاصيل التنسيق المحددة، ما يتيح لك التحكم بدقة في مخرجاتها. استخدم “–tabs n” لضبط عرض علامات التبويب في المسافات، و”–chop-long-lines” لتقصير جميع الأسطر التي يزيد طولها عن عرض الشاشة، و”–squeeze-blank” لضغط الأسطر الفارغة إلى سطر واحد.

bat هو أحد أدوات سطر أوامر لينكس المتنامية المكتوبة بلغة Rust. يشجع هذا النظام البيئي جيلًا من تطبيقات واجهة المستخدم التفاعلية الغنية بصريًا، والتي تتولى الأوامر التقليدية، وbat إضافة رائعة لمجموعة أدوات لينكس.

إذا كنت تعتمد على cat يوميًا لعرض الملفات، فإن تجربة bat ستكون نقلة واضحة في طريقة تعاملك مع النصوص داخل الطرفية. فهو لا يغير ما اعتدت عليه، بل يضيف إليه ما كان ينقصه منذ البداية.
من تلوين الأكواد إلى تكامل Git، يقدم bat مزيجًا من الجمال والوظائف العملية التي تجعل استخدام لينكس أكثر راحة ومتعة.
جرّبه بنفسك، وقد تجد نفسك تتساءل كيف كنت تعمل بدون هذا الأمر طوال الوقت.

زر الذهاب إلى الأعلى