В Unix-подобных системах мы используем команду «cat» для вывода и связи файлов.
Используя команду cat, мы можем вывести содержимое файла в стандартном виде, объединить несколько файлов в целевой файл и добавить несколько файлов в целевой файл.
Сегодня я наткнулся на аналогичную утилиту под названием «Bat», клон для команды cat, с некоторыми дополнительными классными функциями, такими как подсветка синтаксиса, интеграция git и автоматическая подкачка и т. д.
В этой статье мы установим и потестируем Bat и его команды в Linux.
Установка
Bat также доступен в репозиториях по умолчанию Arch Linux. Таким образом, вы можете установить его с помощью pacman в любых системах на основе arch.
$ sudo pacman -S bat
В Debian, Ubuntu, Linux Mint, загрузите файл .deb со страницы релиза и установите его, как показано ниже.
$ sudo apt install gdebi
$ sudo gdebi bat_0.5.0_amd64.deb
Для других систем вам может потребоваться компиляция и установка из исходников.
Убедитесь, что вы установили Rust 1.26 или выше.
$ cargo install bat
Кроме того, вы можете установить его с помощью диспетчера пакетов Linuxbrew.
$ brew install bat
Использование команды Bat
Команды Linux cat и bat , отличия и сходства
Команда Bat очень похожа на команду cat.
Чтобы создать новый файл с помощью команды bat, выполните следующие действия:
$ bat > file.txt
Чтобы просмотреть содержимое файла с помощью команды bat, просто выполните:
$ bat file.txt
Таким образом, вы можете просматривать сразу несколько файлов:
$ bat file1.txt file2.txt
Чтобы добавить содержимое нескольких файлов в один файл:
$ bat file1.txt file2.txt file3.txt > document.txt
Как я уже сказал, помимо просмотра и редактирования файлов, команда Bat имеет некоторые дополнительные интересные функции.
Команда bat поддерживает подсветку синтаксиса для большого количества языков программирования и разметки.
Например, посмотрите на следующий пример.
Я собираюсь отобразить содержимое файла reverse.py с помощью команд cat и bat.
Вы заметили разницу? В текстовом формате команда выводит выходные данные с подсветкой синтаксиса, номерами строк в аккуратном формате табличного столбца.
Гораздо лучше, не так ли?
Если вы хотите отображать только номера строк (не табличные столбцы), используйте флаг -n.
$ bat -n reverse.py
Пример вывода
Еще одна заметная особенность команды Bat – поддержка автоматической подкачки.
Это означает, что вы можете читать выводы страница за страницей.
Позвольте мне показать вам пример.
Когда вы выводите содержимое файла в несколько страниц, используя команду cat, она быстро перескакивает на последнюю страницу файла, и вы не видите контент в начале или посередине.
Посмотрите следующий результат:
Как вы можете видеть, команда cat отображает последнюю страницу файла.
Таким образом, вам может потребоваться прочитать содержимое этого документа с командой less.
$ cat reverse.py | less
Теперь вы можете увидеть страницу, нажав клавишу ENTER.
Тем не менее, это не обязательно, если вы используете команду bat.
Команда bat автоматически выведет часть файла, которая охватывает несколько страниц.
$ bat reverse.py
Просто нажимайте клавишу Enter и двигайтесь вниз по файлу.
Команда bat также поддерживает интеграцию GIT, поэтому вы можете просматривать / редактировать файлы в своем репозитории Git без особых хлопот.
Настройка Bat
Если вам не нравятся темы по умолчанию, вы также можете изменить их.
У Bat есть опция для этого.
Чтобы просмотреть доступные темы, просто запустите:
$ bat --list-themes 1337 DarkNeon Default GitHub Monokai Extended Monokai Extended Bright Monokai Extended Light Monokai Extended Origin TwoDark
Чтобы использовать другую тему, например, TwoDark, выполните:
$ bat --theme=TwoDark file.txt