La commande cat est l'un des outils les plus simples et les plus utilisés sous Linux : elle affiche le contenu d'un fichier texte directement dans le terminal, sans ouvrir d'éditeur. Son nom vient de « concatenate » (concaténer), car elle sert aussi à coller plusieurs fichiers bout à bout. En clair, c'est le réflexe pour jeter un œil rapide au contenu d'un fichier ou en assembler plusieurs. Sur le terrain, cat fait partie de ces commandes qu'on tape des dizaines de fois par jour sans y penser, mais dont l'usage mal calibré (sur un gros fichier, par exemple) noie le terminal. La vraie maîtrise n'est pas de connaître toutes ses options, mais de savoir quand l'utiliser et quand lui préférer un autre outil. Voyons sa définition, ses usages concrets et ses limites.
Qu'est-ce que la commande cat sous Linux ?
La commande cat lit le contenu d'un ou plusieurs fichiers et l'envoie vers la sortie standard, c'est-à-dire, par défaut, l'affichage dans le terminal. C'est un utilitaire fondamental de Linux, présent sur toutes les distributions.
Sa logique est simple : il lit le fichier ligne par ligne et affiche le tout d'un seul coup à l'écran. Cela en fait l'outil idéal pour consulter rapidement un petit fichier, un script, une note ou un fichier de configuration, sans la lourdeur d'un éditeur de texte. Mais sa polyvalence va plus loin : il sait aussi concaténer (assembler plusieurs fichiers en une seule sortie), créer un fichier, ou y ajouter du contenu via la redirection. Concrètement, cat est un couteau suisse léger pour manipuler du texte en ligne de commande, particulièrement utile combiné à d'autres commandes.

Comment afficher un ou plusieurs fichiers avec cat ?
L'affichage est l'usage le plus courant, et il se décline selon le nombre de fichiers et le besoin. Voici les cas les plus fréquents.
| Objectif | Commande |
|---|---|
| Afficher un fichier | cat nom_du_fichier |
| Afficher plusieurs fichiers à la suite | cat fichier1 fichier2 fichier3 |
| Afficher avec numéros de ligne | cat -n nom_du_fichier |
| Afficher les caractères invisibles | cat -v nom_du_fichier |
Pour afficher un fichier, cat nom_du_fichier en envoie tout le contenu à l'écran, d'un trait. Pour en afficher plusieurs, il suffit de lister leurs noms à la suite : cat fichier1 fichier2 les affiche dans l'ordre indiqué, pratique pour comparer ou rassembler des journaux. L'option -n numérote chaque ligne, utile pour repérer une portion précise ou déboguer un script. L'option -v, elle, révèle les caractères invisibles (tabulations, retours chariot), précieuse pour diagnostiquer un fichier qui se comporte bizarrement. Attention toutefois : sur un gros fichier, cat déverse tout sans pause, ce qui rend la lecture impraticable, et il vaut mieux passer par un autre outil.
Comment créer ou compléter un fichier avec cat ?
Au-delà de l'affichage, cat peut écrire dans des fichiers grâce à la redirection. C'est l'un de ses usages les plus pratiques, à condition de bien distinguer deux opérateurs.
Pour créer un fichier et y saisir du contenu, on utilise cat > nom_du_fichier : tout ce que vous tapez ensuite est enregistré dans le fichier (qui est créé s'il n'existe pas, ou écrasé s'il existe déjà), et l'on valide par Ctrl + D. Pour ajouter du contenu à la fin d'un fichier sans effacer l'existant, on emploie le double chevron cat >> nom_du_fichier : les nouvelles lignes s'ajoutent à la suite. Enfin, pour rediriger le contenu d'un fichier vers un autre, cat fichier_source > nouveau_fichier copie le premier dans le second. La distinction est capitale : > remplace tout le contenu, >> ajoute à la fin.

Quand cat n'est-il pas le bon outil ?
Aussi pratique soit-il, cat a des limites qu'il faut connaître pour ne pas l'utiliser à contretemps. Plusieurs situations appellent un autre outil.
Le premier cas est celui des gros fichiers : comme cat affiche tout d'un seul bloc, sans pagination, il noie le terminal et rend la lecture impossible. Le deuxième est la recherche ou le filtrage : cat ne sait ni trier ni chercher une ligne précise, ce n'est pas son rôle. Le troisième est l'usage inutile : enchaîner cat avec une autre commande alors que celle-ci pourrait lire le fichier directement est une maladresse courante, surnommée « useless use of cat » dans la communauté Linux. Le quatrième est la lecture interactive : naviguer dans un long fichier avec cat est inconfortable. Dans tous ces cas, mieux vaut un outil adapté, que nous voyons juste après. Connaître ces limites, c'est utiliser cat à bon escient plutôt que par habitude.
Quelles sont les alternatives à cat ?
Selon le besoin, d'autres commandes font mieux le travail. Les connaître permet de choisir l'outil juste. Voici les principales.
| Commande | Usage idéal |
|---|---|
less / more |
Lire un gros fichier page par page |
grep |
Chercher un motif précis dans un fichier |
head / tail |
Voir les premières ou dernières lignes |
echo |
Écrire rapidement une ligne dans un fichier |
bat |
Version moderne de cat (coloration syntaxique) |
Pour lire un fichier volumineux, less (ou more) permet de défiler page par page sans saturer l'écran. Pour trouver une ligne précise, grep filtre selon un motif. Pour ne voir que le début ou la fin d'un fichier, head et tail sont parfaits, ce dernier étant très utilisé pour suivre des journaux en temps réel. Pour écrire vite une simple ligne, echo suffit. Et pour qui veut un affichage plus lisible, bat est une version modernisée de cat avec coloration syntaxique et numérotation. Le bon réflexe est de garder cat pour les petits fichiers et la concaténation, et de basculer sur ces outils dès que le besoin se précise.
À retenir : réservez cat aux petits fichiers et à la concaténation. Pour lire du volumineux, utilisez less ; pour chercher, grep ; pour le début ou la fin, head et tail. Choisir l'outil adapté plutôt que tout faire avec cat rend le travail plus efficace et plus lisible.
Ce qu'il faut retenir
La commande cat affiche le contenu d'un ou plusieurs fichiers dans le terminal et permet, via la redirection, de créer ou compléter des fichiers. Ses usages clés sont l'affichage simple (cat fichier), la concaténation (cat fichier1 fichier2), la numérotation (-n) et l'écriture (> pour créer ou écraser, >> pour ajouter). Sa principale limite est qu'il n'est pas adapté aux gros fichiers ni à la recherche, où less, grep, head ou tail prennent le relais. Le point de vigilance majeur reste la confusion entre > et >>, qui peut effacer un fichier.
Si vous débutez sous Linux, la prochaine étape utile est de pratiquer cat sur de petits fichiers de test, en expérimentant l'affichage, la concaténation et les deux types de redirection, pour bien intégrer la différence entre > et >>. Familiarisez-vous en parallèle avec less, grep et tail, qui couvrent les cas où cat n'est pas adapté. C'est cette habitude de choisir l'outil selon le besoin, plutôt que de tout faire avec cat, qui distingue un usage fluide de la ligne de commande d'un usage approximatif. Avec ces réflexes, vous manipulerez vos fichiers texte rapidement et sans risque.