bat: un cat con superpoderes

9 de marzo, 2026

Como todo nuevo usuario al comenzar a usar cualquier distro Linux, comencé utilizando el comando cat para echar un vistazo rápido a archivos desde la terminal. Funciona, sí, es suficiente para este tipo de tareas rápidas, claro, pero es bastante "feo" por llamarlo alguna manera. Buscando y leyendo otros blogs un día encontré y probé bat. Es básicamente cat, pero con syntax highlighting, numeración de líneas y hasta integración con git para mostrarte qué líneas cambiaron.

Instalación

En Arch Linux:

sudo pacman -S bat

En Fedora:

sudo dnf install bat

En Ubuntu:

sudo apt install bat

aunque en Ubuntu y sus derivadas el comando para ejecutar es batcat, podemos hacer esto más fácil y directo creando un alias. De esta manera llamaremos a batcat escribiendo solo bat como en Arch o Fedora.

echo 'alias bat="batcat"' >> ~/.bashrc

Luego refrescamos con

source ~/.bashrc


Ejemplos de uso

El uso básico es idéntico a cat solo cambia el comando:

bat archivo.py

Si quiero ver un script de bash o un archivo de configuración sin que pagine (útil cuando lo encadeno con otras cosas), uso --style

bat --style=plain ~/.bashrc

También lo uso dentro de un pipeline para que la salida de otro comando tenga color al revisarla:

cat /var/log/syslog | bat -l log

¿Por qué es útil usarlo al final de un pipeline?. Aprendí a las malas que al recibir datos por un pipe, bat no conoce la extensión del archivo. En estos casos uso -l log para indicarle que aplique el resaltado específico para archivos de registro.


Por qué lo uso en lugar de cat

Principalmente porque el resaltado me ahorra segundos de esfuerzo al ser más fácil de leer Pero seamos sinceros, es más "bonito" ver algunos colores en la terminal, por estos motivos bat es uno de esos reemplazos que instalo en cualquier máquina nueva casi de forma automática.