Aller au contenu principal

Visualisation et édition de fichiers


Table des matières

  1. Afficher le contenu : cat, less, more
  2. Début et fin de fichier : head, tail
  3. Rechercher dans les fichiers : grep
  4. Éditeur nano pour débutants
  5. Introduction à vim
  6. Exercices pratiques


1 - Afficher le contenu : cat, less, more

cat - Afficher tout le contenu

cat = concatenate (concaténer)

# Afficher un fichier
cat fichier.txt

# Afficher plusieurs fichiers
cat fichier1.txt fichier2.txt

# Afficher avec numéros de ligne
cat -n fichier.txt

# Afficher les caractères invisibles
cat -A fichier.txt

Options de cat

OptionEffet
-nNuméroter toutes les lignes
-bNuméroter les lignes non-vides
-AAfficher les caractères invisibles
-sCompresser les lignes vides multiples
attention

cat affiche TOUT le fichier d'un coup. Pour les gros fichiers, utilisez less ou more.

less - Visualisation paginée

less affiche le fichier page par page, permettant de naviguer.

less fichier.txt
less /var/log/syslog

Navigation dans less :

ToucheAction
Espace ou fPage suivante
bPage précédente
ou jLigne suivante
ou kLigne précédente
gDébut du fichier
GFin du fichier
/texteRechercher "texte"
nOccurrence suivante
NOccurrence précédente
qQuitter
astuce

less est préférable à more car il permet de naviguer dans les deux sens.

more - Visualisation basique

more fichier.txt

more est plus ancien et limité : on ne peut qu'avancer.

Comparaison

CommandeCas d'usage
catPetits fichiers, concaténation
lessGros fichiers, navigation
moreAlternative simple à less

🔝 Retour à la table des matières



2 - Début et fin de fichier : head, tail

head - Afficher le début

# 10 premières lignes (par défaut)
head fichier.txt

# N premières lignes
head -n 20 fichier.txt
head -20 fichier.txt

# N premiers octets
head -c 100 fichier.txt

tail - Afficher la fin

# 10 dernières lignes (par défaut)
tail fichier.txt

# N dernières lignes
tail -n 20 fichier.txt
tail -20 fichier.txt

# Suivre les modifications en temps réel
tail -f /var/log/syslog

L'option -f (follow)

# Suivre un fichier de log en temps réel
tail -f /var/log/syslog

# Suivre plusieurs fichiers
tail -f /var/log/*.log

# Suivre avec nombre de lignes initial
tail -n 50 -f /var/log/syslog
DevOps

tail -f est indispensable pour surveiller les logs en temps réel. Utilisez Ctrl + C pour arrêter.

Combinaisons utiles

# Lignes 10 à 20 d'un fichier
head -n 20 fichier.txt | tail -n 10

# Tout sauf les 5 premières lignes
tail -n +6 fichier.txt

# Tout sauf les 5 dernières lignes
head -n -5 fichier.txt

🔝 Retour à la table des matières



3 - Rechercher dans les fichiers : grep

grep = Global Regular Expression Print

Utilisation de base

# Rechercher "erreur" dans un fichier
grep "erreur" fichier.txt

# Rechercher dans plusieurs fichiers
grep "erreur" *.log

# Rechercher récursivement
grep -r "erreur" /var/log/

Options courantes

OptionEffet
-iIgnorer la casse
-nAfficher les numéros de ligne
-cCompter les occurrences
-vInverser (lignes NE contenant PAS)
-rRécursif (dans les sous-dossiers)
-lAfficher seulement les noms de fichiers
-wMot entier uniquement
-A nAfficher n lignes après
-B nAfficher n lignes avant
-C nAfficher n lignes avant et après

Exemples pratiques

# Ignorer la casse
grep -i "error" fichier.log

# Avec numéros de ligne
grep -n "warning" fichier.log

# Compter les occurrences
grep -c "error" *.log

# Lignes ne contenant PAS "debug"
grep -v "debug" application.log

# Mot entier "root" (pas "rooted")
grep -w "root" /etc/passwd

# Contexte autour de la correspondance
grep -C 3 "error" application.log

Grep avec pipe

# Filtrer la sortie d'une commande
ps aux | grep nginx

# Chercher dans l'historique
history | grep "apt"

# Filtrer les fichiers listés
ls -la | grep ".txt"

Expressions régulières basiques

# Commence par "Error"
grep "^Error" fichier.log

# Termine par "failed"
grep "failed$" fichier.log

# Contient un chiffre
grep "[0-9]" fichier.log

# Adresse IP (simplifié)
grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" fichier.log

🔝 Retour à la table des matières



4 - Éditeur nano pour débutants

nano est un éditeur de texte simple, idéal pour débuter.

Ouvrir nano

# Ouvrir un fichier (existant ou nouveau)
nano fichier.txt

# Ouvrir avec numéros de ligne
nano -l fichier.txt

Interface de nano

  GNU nano 6.2                 fichier.txt

Contenu du fichier ici...





^G Help ^O Write Out ^W Where Is ^K Cut ^U Paste
^X Exit ^R Read File ^\ Replace ^J Justify ^T Spell

Raccourcis essentiels

RaccourciAction
Ctrl + OSauvegarder (Write Out)
Ctrl + XQuitter
Ctrl + KCouper la ligne
Ctrl + UColler
Ctrl + WRechercher
Ctrl + \Rechercher et remplacer
Ctrl + GAide
Ctrl + CPosition du curseur

Workflow typique

  1. Ouvrir : nano fichier.txt
  2. Éditer le contenu
  3. Sauvegarder : Ctrl + O puis Entrée
  4. Quitter : Ctrl + X
astuce

Le ^ dans les raccourcis signifie Ctrl. Donc ^X = Ctrl + X.

🔝 Retour à la table des matières



5 - Introduction à vim

vim (Vi IMproved) est un éditeur puissant, standard sur tous les systèmes Unix/Linux.

Pourquoi apprendre vim ?

  • Présent sur tous les serveurs Linux
  • Extrêmement rapide une fois maîtrisé
  • Indispensable pour le DevOps

Les modes de vim

ModeUsageAccès
NormalNavigation, commandesEchap
InsertionÉcrire du textei, a, o
CommandeSauvegarder, quitter:
VisuelSélectionner du textev

Commandes de survie

# Ouvrir vim
vim fichier.txt

Dans vim :

CommandeAction
iMode insertion (avant curseur)
aMode insertion (après curseur)
EchapRetour au mode normal
:wSauvegarder
:qQuitter
:wqSauvegarder et quitter
:q!Quitter sans sauvegarder
ddSupprimer une ligne
yyCopier une ligne
pColler
uAnnuler
/texteRechercher

Workflow minimal vim

  1. Ouvrir : vim fichier.txt
  2. Entrer en mode insertion : appuyer sur i
  3. Écrire votre texte
  4. Revenir en mode normal : Echap
  5. Sauvegarder et quitter : taper :wq puis Entrée
Piège classique

Si vous êtes "bloqué" dans vim :

  1. Appuyez sur Echap plusieurs fois
  2. Tapez :q! et Entrée pour quitter sans sauvegarder
ToucheMouvement
hGauche
jBas
kHaut
lDroite
ggDébut du fichier
GFin du fichier
0Début de ligne
$Fin de ligne
wMot suivant
bMot précédent

🔝 Retour à la table des matières



6 - Exercices pratiques

Exercice 1 : Visualisation

# Créez un fichier de test
seq 1 100 > nombres.txt

# 1. Affichez tout le fichier
cat nombres.txt

# 2. Affichez les 5 premières lignes
head -n 5 nombres.txt

# 3. Affichez les 5 dernières lignes
tail -n 5 nombres.txt

# 4. Visualisez avec less
less nombres.txt
# (appuyez sur q pour quitter)

Exercice 2 : Recherche avec grep

# Créez un fichier de log fictif
cat > test.log << EOF
2024-01-15 10:00:00 INFO Application started
2024-01-15 10:01:00 DEBUG Processing request
2024-01-15 10:02:00 ERROR Connection failed
2024-01-15 10:03:00 WARNING Low memory
2024-01-15 10:04:00 INFO Request completed
2024-01-15 10:05:00 ERROR Timeout occurred
EOF

# 1. Trouvez toutes les erreurs
grep "ERROR" test.log

# 2. Comptez les erreurs
grep -c "ERROR" test.log

# 3. Trouvez tout sauf DEBUG
grep -v "DEBUG" test.log

# 4. Trouvez ERROR avec contexte
grep -C 1 "ERROR" test.log

Exercice 3 : Édition avec nano

# 1. Créez un nouveau fichier avec nano
nano mon_script.sh

# 2. Tapez ce contenu :
#!/bin/bash
echo "Bonjour, Linux !"
date

# 3. Sauvegardez (Ctrl+O, Entrée)
# 4. Quittez (Ctrl+X)

# 5. Vérifiez le contenu
cat mon_script.sh

Quiz

Q1. Comment afficher les 20 dernières lignes d'un fichier ?

Réponse

tail -n 20 fichier.txt ou tail -20 fichier.txt

Q2. Comment suivre un fichier log en temps réel ?

Réponse

tail -f fichier.log

Q3. Comment quitter vim sans sauvegarder ?

Réponse

Echap puis :q!

Q4. Comment chercher "error" sans tenir compte de la casse ?

Réponse

grep -i "error" fichier.txt

🔝 Retour à la table des matières



Points clés à retenir

  • cat affiche tout, less permet de naviguer
  • head -n N = N premières lignes, tail -n N = N dernières
  • tail -f = surveiller un fichier en temps réel
  • grep = rechercher du texte (-i ignore la casse, -r récursif)
  • nano = éditeur simple (Ctrl+O sauve, Ctrl+X quitte)
  • vim = éditeur puissant (i insertion, Echap normal, :wq sauve et quitte)

🔝 Retour à la table des matières


← Chapitre précédent | Chapitre suivant : Aide et documentation →