Bat: как обычный cat обрел крылья
Знакомо ли вам чувство, когда хочется быстро просмотреть файл в терминале, но обычный cat выдает монотонный текст без подсветки синтаксиса? В 2018 году разработчик David Peter создал решение — утилиту bat, которая с тех пор собрала более 50 тысяч звезд на GitHub. Давайте разберемся, почему этот инструмент стал must-have для многих разработчиков.
Что такое bat?
Bat позиционируется как "cat с крыльями" — это продвинутая замена стандартной утилиты Unix cat с рядом полезных улучшений:
- Подсветка синтаксиса для 200+ языков программирования
- Интеграция с Git для отображения изменений
- Автоматическая постраничная навигация
- Поддержка тем оформления

Ключевые возможности
1. Умная подсветка синтаксиса
Bat использует ту же систему подсветки, что и Sublime Text, поддерживая огромное количество языков из коробки. При этом вы можете легко добавлять собственные определения синтаксисов.
# Просмотр Python-файла с подсветкой
bat script.py
2. Работа с Git
Bat автоматически показывает изменения в файле по сравнению с индексом Git — добавленные, измененные и удаленные строки отмечаются на полях.

3. Гибкое поведение
По умолчанию bat использует постраничный вывод (как less), но может работать и в режиме обычного cat:
# Принудительный вывод без постраничной навигации
bat --paging=never file.txt
Почему разработчики любят bat
- Экономия времени — не нужно открывать IDE для беглого просмотра файлов
- Удобство отладки — изменения в коде сразу видны благодаря Git-интеграции
- Гибкость — поддерживает кастомные темы и синтаксисы
- Совместимость — работает как drop-in замена для cat в большинстве сценариев
Избранные сценарии использования
Bat отлично комбинируется с другими инструментами командной строки:
# Просмотр логов с подсветкой
tail -f /var/log/nginx/access.log | bat -l log
# Поиск с fzf и предпросмотром
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
# Просмотр man-страниц с подсветкой
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man ls
Установка
Bat доступен для всех популярных платформ:
- Linux (apt, pacman, yum и другие менеджеры пакетов)
- macOS (Homebrew, MacPorts)
- Windows (Chocolatey, Scoop, WinGet)
Для Ubuntu/Debian:
sudo apt install bat
Bat — это пример того, как можно улучшить повседневные инструменты, сохранив их простоту. Если вы:
- Часто работаете в терминале
- Устали от монотонных текстовых файлов
- Хотите видеть изменения в коде без лишних действий
— самое время попробовать bat. Этот инструмент быстро становится незаменимым в арсенале разработчика, и после недели использования вы вряд ли захотите возвращаться к обычному cat.
