bat affiche le contenu de vos fichiers avec coloration syntaxique, numéros de ligne et intégration Git. C’est un remplacement direct de cat qui rend la lecture de code et de configuration beaucoup plus confortable. Ce guide couvre l’installation avec mise, la configuration et les usages courants.
Le problème que bat résout
Section intitulée « Le problème que bat résout »La commande cat existe depuis 1971. Elle fait une seule chose : afficher le contenu d’un fichier. Pas de coloration, pas de numéros de ligne, pas de pagination.
Quand vous lisez un fichier YAML de 200 lignes ou un script Bash complexe, cat vous renvoie un bloc de texte brut. Trouver une erreur de syntaxe ou se repérer dans le fichier demande un effort visuel important.
bat résout ce problème en ajoutant :
| Fonctionnalité | Ce que ça apporte |
|---|---|
| Coloration syntaxique | Distinguer variables, fonctions, commentaires d’un coup d’œil |
| Numéros de ligne | Se repérer instantanément, corréler avec les messages d’erreur |
| Intégration Git | Voir les lignes modifiées directement dans l’affichage |
| Pagination automatique | Pour les longs fichiers, navigation page par page |
Installation
Section intitulée « Installation »Version actuelle : 0.26.1 (janvier 2026)
mise est le gestionnaire d’outils recommandé pour ce site :
mise install bat@latestmise use -g bat@latestVérification :
bat --version# bat 0.26.1 (979ba22)sudo apt update && sudo apt install -y batsudo dnf install -y batbat --versionbrew install batbat --versionAvec Chocolatey :
choco install batOu avec Scoop :
scoop install batUtilisation de base
Section intitulée « Utilisation de base »Afficher un fichier
Section intitulée « Afficher un fichier »La commande la plus simple — identique à cat, mais en mieux :
bat mon_fichier.yamlRésultat : le fichier s’affiche avec :
- Coloration syntaxique adaptée au type de fichier
- Numéros de ligne dans la marge
- Bordure avec le nom du fichier
- Pagination si le fichier dépasse la hauteur du terminal
Afficher une plage de lignes
Section intitulée « Afficher une plage de lignes »Pour n’afficher que les lignes 10 à 20 :
bat -r 10:20 package.jsonExemple de sortie :
─────┬──────────────────────────────────────────────── │ File: package.json─────┼──────────────────────────────────────────────── 10 │ "postbuild": "node scripts/check-links.js", 11 │ "build:nocheck": "astro build", 12 │ "preview": "astro preview",─────┴────────────────────────────────────────────────Pratique quand un message d’erreur vous indique un numéro de ligne précis.
Afficher plusieurs fichiers
Section intitulée « Afficher plusieurs fichiers »bat config.yaml secrets.yamlbat concatène les fichiers avec une séparation claire entre chacun.
Lire depuis stdin
Section intitulée « Lire depuis stdin »bat fonctionne aussi en pipeline. Utile pour coloriser la sortie d’autres commandes :
curl -s https://api.github.com/users/octocat | bat -l jsonL’option -l json force le langage (bat ne peut pas le deviner depuis stdin).
Options courantes
Section intitulée « Options courantes »Désactiver la pagination
Section intitulée « Désactiver la pagination »Par défaut, bat utilise un pager (comme less) pour les longs fichiers. Pour désactiver :
bat --paging=never mon_fichier.logUtile dans les scripts ou quand vous voulez tout afficher d’un coup.
Changer le style d’affichage
Section intitulée « Changer le style d’affichage »bat propose plusieurs styles d’affichage. L’option --style accepte une liste de composants séparés par des virgules :
| Composant | Ce qu’il affiche |
|---|---|
numbers | Numéros de ligne |
grid | Bordures autour du contenu |
header | Nom du fichier en en-tête |
changes | Marqueurs Git (lignes modifiées) |
snip | Indicateur de troncature |
Exemples :
# Numéros et grille uniquementbat --style=numbers,grid script.sh
# Style minimal (juste la coloration)bat --style=plain config.yaml
# Tout afficherbat --style=full DockerfileChanger le thème de couleurs
Section intitulée « Changer le thème de couleurs »bat inclut plus de 20 thèmes. Pour voir la liste :
bat --list-themesLes thèmes populaires :
| Thème | Style |
|---|---|
Dracula | Sombre, contrasté |
GitHub | Clair, style GitHub |
Monokai Extended | Classique Sublime Text |
Nord | Palette nordique douce |
Catppuccin Mocha | Moderne, pastel sombre |
Pour appliquer un thème :
bat --theme="Dracula" mon_fichier.pyPour rendre le thème permanent, voir la section Configuration.
Voir les modifications Git
Section intitulée « Voir les modifications Git »Si votre fichier est dans un dépôt Git, bat peut afficher les lignes modifiées :
bat --diff mon_fichier.pyLes lignes ajoutées, modifiées ou supprimées sont marquées dans la marge.
Configuration permanente
Section intitulée « Configuration permanente »Plutôt que de taper les options à chaque fois, créez un fichier de configuration :
mkdir -p ~/.config/batcat > ~/.config/bat/config << 'EOF'# Thème par défaut--theme="Catppuccin Mocha"
# Style par défaut (numéros, grille, changements Git)--style="numbers,changes,header,grid"
# Désactiver la pagination pour les petits fichiers--paging=autoEOFbat lit automatiquement ce fichier à chaque exécution.
Remplacer cat par bat
Section intitulée « Remplacer cat par bat »Si vous voulez utiliser bat partout où vous utiliseriez cat, créez des alias dans votre shell :
Ajoutez dans ~/.bashrc :
# Remplacer cat par batalias cat='bat --paging=never'
# Remplacer less par batalias less='bat'Ajoutez dans ~/.zshrc :
# Remplacer cat par batalias cat='bat --paging=never'
# Remplacer less par batalias less='bat'Ajoutez dans ~/.config/fish/config.fish :
# Remplacer cat par batalias cat 'bat --paging=never'Après modification, rechargez votre shell :
source ~/.bashrc # ou ~/.zshrcAstuces avancées
Section intitulée « Astuces avancées »Coloriser les pages d’aide
Section intitulée « Coloriser les pages d’aide »Les pages --help des commandes sont souvent longues et difficiles à lire. bat peut les coloriser :
# Dans ~/.bashrcalias bathelp='bat --plain --language=help'help() { "$@" --help 2>&1 | bathelp}Usage : help docker affiche l’aide de docker avec coloration.
# Dans ~/.zshrc - surcharge automatique de --helpalias -g -- --help='--help 2>&1 | bat --language=help --style=plain'Usage : docker --help est automatiquement colorisé.
Combiner avec d’autres commandes
Section intitulée « Combiner avec d’autres commandes »bat s’intègre naturellement dans les pipelines Unix :
# Chercher et afficher avec colorationgrep -n "error" app.log | bat -l log
# Afficher les 50 dernières lignes d'un log avec colorationtail -50 /var/log/syslog | bat -l syslog
# Comparer deux fichiers avec diff et coloriserdiff -u old.yaml new.yaml | bat -l diffVoir les caractères invisibles
Section intitulée « Voir les caractères invisibles »Pour débugger des problèmes d’espaces, tabulations ou fins de ligne :
bat --show-all mon_fichier.txtLes caractères invisibles sont affichés avec des symboles Unicode (␊ pour newline, → pour tab, etc.).
Langages supportés
Section intitulée « Langages supportés »bat reconnaît automatiquement plus de 150 langages grâce à l’extension du fichier. Pour voir la liste complète :
bat --list-languagesLes langages courants en DevOps :
| Langage | Extensions reconnues |
|---|---|
| YAML | .yaml, .yml |
| JSON | .json, .jsonl |
| Bash | .sh, .bash, .zsh |
| Python | .py |
| Dockerfile | Dockerfile, Containerfile |
| HCL (Terraform) | .tf, .tfvars |
| Go | .go |
| Rust | .rs |
Si bat ne reconnaît pas un fichier, forcez le langage avec -l :
bat -l yaml mon_fichier_sans_extensionÀ retenir
Section intitulée « À retenir »- bat = cat + coloration + numéros de ligne — Remplacement direct, mêmes arguments
- Installation recommandée avec mise :
mise install bat@latest && mise use -g bat@latest - Options utiles :
-r 10:20(plage),--style=plain(minimal),--theme=... - Configuration permanente dans
~/.config/bat/config - Alias pratique :
alias cat='bat --paging=never' - Fonctionne en pipeline :
curl ... | bat -l json - 150+ langages reconnus automatiquement