Bat – это современная программа командной строки, написанная на языке программирования Rust, и мы можем с уверенностью сказать, что это отличная встроенная замена нашей любимой команды cat.
Если вам интересно, почему мы так раздуваем эту тему и что она может предложить вам такого, из-за чего стоит заменить cat, тогда ознакомьтесь с ее функциями ниже.
Особенности Bat
Bat действительно может предложить несколько интересных функций, которые упомянуты ниже.
- Поддерживает подсветку синтаксиса для большого количества языков программирования и разметки.
- Обнаруживать и отображать изменения Git.
- Выводите данные на свой собственный пейджер (например, “
less
“), если вывод слишком велик для одного экрана. - Отображать непечатаемые символы, такие как пробелы, табуляции, разрывы строк и т.д.
- Предлагает множество тем, которые можно легко настроить с помощью флагов или окружений.
- Удобный интерфейс командной строки, который, конечно же, наследует все функциональные возможности команды “
cat
”.
Теперь давайте посмотрим, как вы можете установить bat в свой любимый дистрибутив Linux.
Как установить Bat в Linux
Установка “bat
” довольно проста, если вы используете любой дистрибутив Linux; до его последней версии вы можете легко установить его из их менеджера пакетов по умолчанию.
Ниже я привел команды для самого популярного дистрибутива Linux (включая Windows и macOS), которые вы можете сразу использовать для его установки в вашей существующей системе.
$ sudo apt install bat #On Debian, Ubuntu, Mint, Pop!_OS, etc $ dnf install bat #On RedHat, Fedora, AlmaLinux, etc $ pacman -S bat #On Arch, Manjaro, EndeavourOS, etc $ apk add bat #On Alpine Linux $ emerge sys-apps/bat #On Funtoo and Gentoo Linux $ xbps-install -S bat #On Void Linux $ pkg install bat #On Termux and FreeBSD $ pkg_add bat #On OpenBSD $ nix-env -i bat #On Nix $ zypper install bat #On openSUSE $ brew install bat #On Linux or macOS using Brew $ port install bat #On macOS using port $ winget install sharkdp.bat #On Windows using Winget $ choco install bat #On Windows using Choco $ scoop install bat #On Windows using Scoop
После завершения установки вы можете использовать команду “bat
” или “batcat
”.
Как использовать Bat в Linux
Для просмотра содержимого файла вы можете использовать команду “bat
” или “batcat
”. Теперь, если вам интересно, почему я говорю о двух командах, помните, что в некоторых дистрибутивах Linux существует пакет “bat
”. Чтобы избежать путаницы в этих системах, вместо имени команды будет “batcat
”.
Итак, чтобы прочитать содержимое любого файла, вы можете использовать следующую команду:
$ bat {filename or /path/to/the/file} #ИЛИ $ batcat {filename or /path/to/the/file}
Ниже мы просматриваем файл “~/.bashrc
” с помощью bat, и вы можете видеть, как красиво он раскрасил синтаксис, пронумеровал строки и представил файл уникальным современным способом.
Ниже приведено изображение файла Python, просматриваемого с помощью bat.
По умолчанию bat использует “less
” для разбивки выходных данных на страницы (проще говоря, вы можете просмотреть файл с помощью прокрутки). Однако вы также можете заставить bat печатать выходные данные в командной строке, точно так же, как это делает команда “cat
”, используя флаг “--paging=never
”.
$ bat --paging=never ~/.bashrc #ИЛИ $ batcat --paging=never ~/.bashrc
Вывод:
Чтобы заставить “bat
” отображать непечатаемые символы, такие как пробелы, табуляции, разрывы строк и т.д., что упрощает их отслеживание, вы можете использовать флаг “--show-all
” рядом с “bat
” для их отображения и выделения.
$ bat --show-all ~/.bashrc #ИЛИ $ batcat --show-all ~/.bashrc
Вывод:
Чтобы отключить такие оформления, как заголовок и нумерация строк на боковой панели, вы можете использовать флаг “-p
”.
$ bat -p ~/.bashrc #ИЛИ $ batcat -p ~/.bashrc
Вывод:
Bat также интегрирован с Git. Итак, если у вас есть существующий файл, который постоянно отслеживается на предмет изменений с помощью Git, вы можете внести в него небольшие изменения, а затем просмотреть файлы с помощью bat, чтобы увидеть аннотации Git к измененным строкам.
Чтобы просмотреть определенный диапазон (или часть) строк из файла, вы можете использовать флаг “-r
” с номерами начальной и конечной строк, которые вы хотите отобразить в выходных данных.
# Следующая команда покажет только строки с 25 по 35. $ bat -r 25:35 ~/.bashrc $ batcat -r 25:35 ~/.bashrc # Следующая команда выведет на печать только строки от 1 до 20. $ bat -r :20 ~/.bashrc $ batcat -r :20 ~/.bashrc # Следующая команда покажет строки от 20 до EOF. $ bat -r 20: ~/.bashrc $ batcat -r 20: ~/.bashrc
Bat поставляется с множеством тем для подсветки синтаксиса, которые вы можете легко перечислить с помощью следующей команды:
$ bat --list-themes #ИЛИ $ batcat --list-themes
Вывод:
Например, мне очень нравится просматривать свои файлы, используя тему “Дракула”, чтобы применить любую тему. Итак, чтобы просмотреть мой файл с этой темой с помощью команды “bat
”, я могу использовать флаг “--theme="Dracula"
” каждый раз для просмотра моего файла в этой теме.
$ bat --theme="Dracula" ~/.bashrc #ИЛИ $ batcat --theme="Dracula" ~/.bashrc
Чтобы постоянно применять изменения темы, экспортируйте переменную окружения “BAT_THEME
” с именем темы в конце файла конфигурации вашей оболочки (например, “~/.bashrc
” для Bash).
export BAT_THEME="Dracula"
Вот и все. Тема “Dracula
” теперь будет появляться всякий раз, когда вы просматриваете файл с помощью bat.
Выводы
Статья подходит к концу. Мы надеемся, вам действительно понравилось ее читать и вы открыли для себя удивительный новый инструмент. Если вы хотите копнуть глубже, вы можете изучить его справку или страницу руководства или просто связаться с нами в разделе комментариев.