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

- تجربة الأداة على ملف يحتوي على كود مكتوب بلغة سي

يمكنك من خلال المثالين السابقين أن تلاحظ الفرق الكبير بين أداة cat وأداة اليوم


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

يمكنك أن تلاحظ عدم وجود شيء مميز في هذا النوع من الملفات كما هو متوقع من الملفات النصية ذات تنسيق txt
- لكن ماذا عن عرض ملف من نوع
html

يمكنك بالطبع ملاحظة الاختلاف الكبير حيث أن الأداة قامت بتسهيل عملية التعرف على مكونات ومحتوي الملف بشكل واضح ومميز
- مثال آخر على ملف بامتداد
c

لاحظ وجود أكثر من لون فاللون الأحمر له دلالة معينة وكذلك اللون الأزرق النيلي, قامت الأداة باستخدامه لتمثيل عبارات برمجية معينة فقط وكذلك اللون الأصفر والبنفسجي وهكذا
يمكنك أن تلاحظ الفرق الكبير والفائدة التي يمكن أن تعود عليك من استخدام مثل هذه الأداة لذلك فإن الأداة عملية بشكل كبير خاصة لمن يعمل بمجال البرمجة
التكامل مع Git
إذا لم تكن تعلم ما هو Git فيمكنك البحث عنه لفهم الميزة التي تقدمها الأداة
تقدم أداة bat
تكامل مع Git
حيث أنها تمكن المستخدم من معرفة التغيرات التي حدثت للملف بشكل سهل

هذا نفس الملف من المثال السابق ولكن قمت بالتعديل عليه
يمكنك أن تلاحظ ظهور علامات جديدة بجانب أرقام الأسطر وهذه العلامات تدل على نوع التغير الذي حدث في هذا السطر
-
تدل هذه العلامة على حدوث عملية حذف لمحتوي في الملف النصي
لذلك بالفعل يمكنك أن تلاحظ أن السطر الأول من الملف تم حذفه
~
تدل حدوث تعديل في هذا السطر
+
تدل على إضافة سطر أو محتوى جديد لم يكن موجودا من قبل

إظهار العناصر الغير قابلة للطباعة-A
العناصر الغير قابلة للطباعة هي عناصر تستخدم لإضافة تنسيق معين للنص ومنها
- المسافة البيضاء
white space
- المسافة البادئة
tab
- إضافة سطر جديد
Enter
يمكنك استخدام هذه الميزة عن طريق كتابه خيار -A
[x-user@arch]$ bat -A index.html

يبدو أن هناك بعض التغيرات التي قد حدثت عند استخدام هذا الخيار ولكن لنركز مبدئيا على الغرض الأساسي من هذا الخيار وهو عرض العناصر الغير مطبوعة وسوف نلاحظ أنه قام بطباعه نقط زرقاء كدليل على المسافة وفي نهايه كل سطر يوجد حرفان هما ال l
, f
والذان يرمزان لسطر جديد في هذا الملف
التغير الثاني الذي قد حدث وهو اختفاء الألوان من النص وذلك لأنك قمت بالتركيز على العناصر الغير مطبوعة عند استخدام هذا الخيار لذلك فإن الأداة لن تشتتك بالعناصر الأخرى وسوف تقوم بجذب انتباه عينيك علي العناصر التي قمت بتحديدها أنت
قيام bat
بكل ما تقوم به cat
حسنا الآن وبعد أن تعرفنا على الأداة هل يمكن لأداة bat
أن تقوم بكل العمليات السابقة التي قمنا بها عند شرح أداة cat
في هذا المقال
الإجابة: هي نعم وبكل تأكيد ويمكنك أن تقوم بتجربة الأمر بنفسك للتأكد منه
كما أنه كل ما يمكن لأداة cat
يمكن لأداة bat
أن تقوم به أيضا لذلك هي الأداة التي يمكنها استبدال cat
تثبيت الأداة علي بعض التوزيعات المختلفة
قبل محاولة تثبيت الأداة وجب علي التنبيه إلى أن هذه الأداة توجد علي بعض التوزيعات باسم
bat
وأيضا باسمbatcat
لتثبيت الأداة كل ما عليك فعله هو إيجاد التوزيعة الخاصة بك من التوزيعات المدرجة وكتابه أو نسخ الأمر الذي يأتي بعد علامة $
يمكنك أيضا استخدام هذه الأداة أيضا إذا كنت تستعمل نظام تشغيل windows
ولكني لن أتطرق لشرح الطريقة في هذا المقال للأسف ولكن يمكنك النظر في جزء المراجع وستجد ما يفيدك بإذن الله
# Arch Linux
$ sudo pacman -S bat
# Apline Linux
$ sudo apk add bat
# Fedora Linux
$ sudo dnf install bat
# Gentto Linux
$ sudo emerge sys-apps/bat
# Funtoo Linux
$ sudo emerge sys-apps/bat
# FreeBSD Linux
$ sudo pkg install bat
# Termux Linux
$ pkg install bat
# Void Linux
$ xbps-innstall -S bat
# openSUSE Linux
$ zypper install bat
ملاحظة: إذا أردت استخدامها بشكل أساسي بدلا من أداة cat يمكنك إضافتها ك alias
حسنا هذا الترشيح للأشخاص الذين أعجبتهم الأداة ويريدون استخدامها ولكن يريدون أيضا أن يظل اسم الأمر كما هو cat
بالطبع يمكنك ذلك عن طريق إضافة كنية alias
لملف الصدفية الخاص والذي أغلب الظن سيكون إما
~/.bashrc
~/.zshrc
alias cat='bat'
وفي النهاية أشكرك على قراء المقال وأسأل الله أن يكون قد أوضح الأداة بشكل واضح وبعض الطرق لاستخدامها
سائلاً الله تعالى أن ينفعنا بما علمنا
وانتظر آرائكم واقتراحاتكم عن المقال بإذن الله
المصادر
ترخيص
هذا الموضوع يتبع ترخيص جميع مواضيع أسس هو CC-BY-SA 4.0
هذا الموضوع فائز بجائزة أسس للكتابة
هذا الموضوع أحد المواضيع الفائزة بجائزة أسس للكتابة، الجائزة الأولى في العالم العربي للتحفيز الكتابة عن البرمجيات الحرة.
تفاصيل أكثر عن الجائزة

المواضيع الفائزة لشهر أغسطس 2022

