1. Se déplacer #
Chemins et navigation.
Chemins absolus et relatifs #
Un chemin absolu part de la racine (/etc/nginx/nginx.conf), un chemin relatif part du répertoire courant (../logs). ~ désigne le répertoire personnel, . le répertoire courant, .. le parent.
pwd # où suis-je ?
cd /var/log ; cd - # aller puis revenir au répertoire précédent
ls -lah # liste détaillée, fichiers cachés, tailles lisibles
ls -lt | head # fichiers les plus récents
tree -L 2 /etc/nginx # arborescence sur 2 niveauxLe prompt et l'historique #
history | grep systemctl # retrouver une commande
!! # relancer la dernière commande (sudo !! si oubli de sudo)
Ctrl+R # recherche incrémentale dans l'historique
Ctrl+A / Ctrl+E # début / fin de ligne
Tab # complétion des commandes et chemins2. Manipuler les fichiers #
Créer, copier, déplacer, supprimer.
Commandes de base #
mkdir -p projet/{src,docs,tests} # créer une arborescence
touch notes.txt # créer un fichier vide
cp -a /etc/nginx /etc/nginx.bak # copier en préservant droits et dates
mv rapport.txt archives/ # déplacer ou renommer
rm -i fichier ; rm -r dossier # supprimer (sans corbeille !)
ln -s /srv/app/current app # lien symbolique
stat fichier ; file fichier # métadonnées, type réelErreur Courante :rm -rfne demande aucune confirmation et il n'y a pas de corbeille. Vérifiez la variable avantrm -rf "$DIR"/*: si elle est vide, la commande vise la racine.
Jokers (globbing) #
| Motif | Correspond à |
|---|---|
*.log | tous les fichiers finissant par .log |
app?.conf | app1.conf, appA.conf |
[0-9]* | commence par un chiffre |
{a,b}.txt | a.txt et b.txt (expansion, même s'ils n'existent pas) |
C'est le shell qui développe les jokers avant d'exécuter la commande : echo *.log montre ce que la commande recevra.
Lire un fichier #
cat fichier # tout afficher
less /var/log/syslog # paginer (/ pour chercher, q pour quitter)
head -n 20 ; tail -n 50
tail -f /var/log/nginx/error.log # suivre en temps réel
wc -l fichier # nombre de lignes3. Redirections et pipes #
Assembler de petites commandes.
Flux standard #
| Flux | Numéro | Redirection |
|---|---|---|
| Entrée standard (stdin) | 0 | < fichier |
| Sortie standard (stdout) | 1 | > fichier (écrase), >> fichier (ajoute) |
| Erreur standard (stderr) | 2 | 2> erreurs.log, 2>&1 (vers stdout) |
find / -name '*.conf' 2>/dev/null # masquer les erreurs de permission
./backup.sh > backup.log 2>&1 # tout dans un fichier
./backup.sh 2>&1 | tee backup.log # afficher et enregistrer
sudo tee /etc/motd <<'EOF' # écrire un fichier root (heredoc)
Serveur de production : soyez prudent.
EOFLe pipe #
À savoir :sudo echo x > /etc/fichieréchoue : la redirection est faite par votre shell, sans les droits root. Utilisezecho x | sudo tee /etc/fichier.
4. Chercher et transformer du texte #
find, grep, sed, awk et compagnie.
Trouver des fichiers #
find /var/log -name '*.log' -mtime -1 # modifiés depuis 24 h
find / -xdev -type f -size +500M 2>/dev/null # gros fichiers sur la partition racine
find /srv -user www-data -perm -o+w # fichiers modifiables par tous
find /tmp -type f -mtime +7 -delete # nettoyer
locate nginx.conf # recherche rapide par index (updatedb)Chercher dans les fichiers #
grep -i error /var/log/syslog
grep -rn 'listen' /etc/nginx/ # récursif avec numéros de ligne
grep -v '^#' sshd_config | grep -v '^$' # configuration sans commentaires ni lignes vides
grep -E 'error|fail' -c app.log # expression étendue, compter
zgrep 'Out of memory' /var/log/syslog*.gzTransformer #
cut -d: -f1,7 /etc/passwd # colonnes 1 et 7, séparateur :
sort -t: -k3 -n /etc/passwd # trier numériquement sur la 3e colonne
sort | uniq -c | sort -rn # compter les occurrences
tr 'a-z' 'A-Z' < fichier # remplacer des caractères
sed -i.bak 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config # remplacer en place, avec sauvegarde
sed -n '10,20p' fichier # afficher les lignes 10 à 20
awk -F: '$3 >= 1000 {print $1}' /etc/passwd # utilisateurs « humains »
awk '{s += $10} END {print s/1024/1024 " Mo"}' access.log # somme d'une colonne
diff -u ancien.conf nouveau.conf # comparer deux fichiersBonne Pratique : Avant unsed -isur un fichier de configuration, testez sans-ipour voir le résultat, et gardez une copie (-i.bak).
5. Archives et édition #
tar, compression et vim.
Archiver et compresser #
tar -czf etc-$(date +%F).tar.gz /etc # créer une archive gzip
tar -tzf etc-2026-10-26.tar.gz | head # lister le contenu
tar -xzf archive.tar.gz -C /tmp/restore # extraire ailleurs
tar -cJf logs.tar.xz /var/log/app # compression xz (plus forte)
zip -r site.zip /srv/www ; unzip site.zip
gzip -9 gros.log ; zcat gros.log.gz | lessSurvivre dans vim #
| Touche | Action |
|---|---|
i | passer en mode insertion |
Échap | revenir en mode normal |
:w / :q / :wq / :q! | enregistrer / quitter / les deux / quitter sans enregistrer |
/motif, n | chercher, occurrence suivante |
dd, yy, p | couper, copier, coller une ligne |
u | annuler |
:%s/ancien/nouveau/g | remplacer partout |
nano est plus simple pour débuter (raccourcis affichés en bas). Choisissez votre éditeur par défaut avec sudo update-alternatives --config editor ou la variable EDITOR.
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Bonnes Pratiques Kubernetes
Meilleures pratiques pour sécuriser et optimiser les déploiements Kubernetes.
Comparaison Offres Kubernetes
Analyse complète des offres managées de Kubernetes avec points forts, fonctionnalités, tarificati...
Stratégies de placement Kubernetes
Présentation des stratégies de placement dans Kubernetes pour optimiser la gestion des charges de...
CNI Kubernetes : Flannel, Calico et Cilium comparés
Kubernetes CNI : comprendre les plugins réseau (Container Network Interface) et comparer Flannel,...
Gestionnaires de packages
Les différents gestionnaires de packages pour Kubernetes et leurs avantages.
Jobs vs Serverless
Comparaison entre les Jobs Kubernetes et le modèle Serverless pour le calcul de tâches en arrière...
PersistentVolume, PersistentVolumeClaim et StorageClass dans Kubernetes
PersistentVolume (PV), PersistentVolumeClaim (PVC) et StorageClass dans Kubernetes : différences,...
Resource Quota Kubernetes
Guide complet sur les quotas de ressources Kubernetes pour la gestion des namespaces.
ConfigMaps et Secrets
Guide complet sur les ConfigMaps et Secrets dans Kubernetes.