Objectifs
- Afficher le contenu complet d’un fichier avec
cat. - Visualiser un fichier de manière interactive et sûre avec
less. - Inspecter le début ou la fin d’un fichier avec
headettail. - Suivre les modifications d’un fichier en temps réel (comme les logs) avec
tail -f.
Il existe plusieurs outils pour lire des fichiers en ligne de commande. Choisir le bon outil pour la bonne tâche vous rendra beaucoup plus efficace.
cat : Le plus direct
cat (abréviation de “concatenate”) lit un ou plusieurs fichiers et affiche leur contenu intégralement sur la sortie standard.
# Affiche le contenu d'un fichier
cat /etc/hosts
# Affiche le contenu de plusieurs fichiers, l'un après l'autre
cat fichier1.txt fichier2.txt
- Quand l’utiliser ? Uniquement pour des fichiers courts dont vous savez qu’ils ne vont pas inonder votre terminal.
- Piège à éviter : Lancer
catsur un très gros fichier ou un fichier binaire.
less : Le plus sûr et le plus puissant
less est un visualiseur de texte interactif (“pager”). Il charge le fichier page par page, ce qui permet de lire des fichiers de n’importe quelle taille instantanément et sans submerger votre terminal. C’est l’outil à privilégier.
less /var/log/syslog
Une fois dans l’interface de less :
- Navigation : Utilisez les flèches
Haut/Bas,PageUp/PageDown. - Quitter : Appuyez sur la touche
q. - Rechercher : Tapez
/suivi du mot à chercher, puisEntrée. Appuyez surnpour aller à l’occurrence suivante.
head : Voir le début
head affiche les premières lignes d’un fichier. Par défaut, il en affiche 10.
# Affiche les 10 premières lignes
head mon_gros_fichier.log
# Affiche les 20 premières lignes avec l'option -n
head -n 20 mon_gros_fichier.log
- Quand l’utiliser ? Utile pour vérifier rapidement l’en-tête d’un fichier CSV, un fichier de log, ou un code source.
tail : Voir la fin
tail est le contraire de head : il affiche les dernières lignes d’un fichier (10 par défaut).
# Affiche les 10 dernières lignes
tail mon_gros_fichier.log
# Affiche les 50 dernières lignes
tail -n 50 mon_gros_fichier.log
L’option magique : tail -f
L’option -f (follow) est l’une des plus utiles pour un administrateur système ou un développeur. Elle affiche les dernières lignes du fichier, puis reste active et affiche en temps réel toute nouvelle ligne ajoutée au fichier.
# Surveiller un fichier de log en direct
tail -f /var/log/nginx/access.log
C’est indispensable pour voir ce qui se passe sur un serveur en temps réel. Pour arrêter, utilisez Ctrl+C.
Bonnes pratiques
- Prenez l’habitude d’utiliser
lesspar défaut pour explorer un fichier dont vous ne connaissez pas la taille. - Utilisez
tail -fpour le débogage en direct et la surveillance des logs. - Combinez ces outils avec des pipes. Par exemple, pour voir les 20 dernières erreurs dans un log :
grep "ERROR" mon_fichier.log | tail -n 20.
Exercices
-
Lecture simple :
- Utilisez
catpour afficher le contenu du fichier/etc/os-release. C’est un fichier court qui contient des informations sur votre distribution Linux.
- Utilisez
-
Exploration d’un gros fichier :
- Utilisez
lesspour explorer un fichier de log plus volumineux, comme/var/log/syslogou un autre fichier dans/var/log/. (Vous pourriez avoir besoin desudo less ...). - Exercez-vous à naviguer et à rechercher un mot à l’intérieur.
- Utilisez
-
Inspecter les logs :
- Affichez les 30 premières lignes de ce même fichier de log avec
head. - Affichez les 30 dernières lignes avec
tail.
- Affichez les 30 premières lignes de ce même fichier de log avec
-
Surveillance en direct (si possible) :
- Dans un premier terminal, lancez
tail -f /var/log/syslog. - Dans un second terminal, lancez une commande qui génère un log (par exemple,
sudo systemctl restart ssh). - Observez les nouvelles lignes apparaître en temps réel dans le premier terminal.
- Dans un premier terminal, lancez