Commandes Linux à connaître par cœur
Quarante commandes, dont vingt marquées « de base » : celles-là suffisent à se débrouiller partout.
Copier
cp -r pour un dossier entier ; cp -a préserve en plus les droits et les dates.
Se connecter à une machine
ssh utilisateur@machine, avec -i pour désigner une clé qui n’est pas celle par défaut.
Déplacer ou renommer
mv fait les deux : renommer, c’est déplacer vers un autre nom.
Suivre un journal en direct
tail -f fichier.log affiche les lignes au fur et à mesure qu’elles arrivent.
Supprimer
rm -r pour un dossier. Il n’y a pas de corbeille : ce qui part ne revient pas.
Lister un dossier
ls -lh pour les tailles lisibles, ls -la pour voir aussi les fichiers cachés.
Piloter un service
systemctl status, start, restart. Le status dit aussi pourquoi ça a échoué.
Afficher un fichier
cat pour les courts. Au-delà de vingt lignes, less rend un bien meilleur service.
Lire un gros fichier
less garde la main sur la navigation ; taper slash cherche à l’intérieur.
Chercher dans des fichiers
grep -rn "motif" . donne le fichier et la ligne, ce que grep seul ne fait pas.
Trouver un fichier
find . -name "*.log" -mtime -7 : par nom, et modifié dans les sept jours.
Lire le manuel
man commande, et surtout slash motif pour sauter à l’option cherchée.
Exécuter en administrateur
sudo pour une commande, sudo -i pour un shell entier quand il y en a dix à passer.
Changer de dossier
cd sans argument ramène au dossier personnel, cd - au précédent.
Voir les processus
ps aux pour une photo, et un tube vers grep pour retrouver le sien.
Arrêter un processus
kill demande poliment, kill -9 ne demande pas. Essayer le premier d’abord.
Savoir où l’on est
pwd affiche le chemin absolu, la commande qui désamorce la moitié des erreurs.
Créer un dossier
mkdir -p a/b/c crée toute la chaîne d’un coup, sans se plaindre si elle existe.
Retrouver une commande passée
history | grep motif, ou Ctrl+R qui cherche à mesure qu’on tape.
Changer les droits
chmod 644 pour un fichier, 755 pour un dossier ou un exécutable.
Mesurer l’espace libre
df -h par partition. C’est la première commande quand une écriture échoue.
Trouver ce qui remplit le disque
du -sh * dans un dossier, puis descendre dans le plus gros. De proche en proche.
Archiver
tar -czf archive.tar.gz dossier pour créer, -xzf pour extraire.
Voir les premières ou dernières lignes
head -n 20 et tail -n 50. Sur un fichier inconnu, head dit tout de suite sa forme.
Remplacer dans un fichier
sed -i "s/ancien/nouveau/g" fichier. Sans -i, la sortie reste à l’écran.
Lire les journaux système
journalctl -u service -f suit un service précis plutôt que tout le système.
Surveiller en direct
htop trie par processeur ou mémoire et laisse tuer un processus sans le quitter.
Copier à distance
rsync -av source/ serveur:/cible/ reprend où il s’est arrêté, contrairement à scp.
Interroger une URL
curl -i montre les en-têtes de la réponse, ce qui règle la moitié des doutes.
Voir qui écoute sur un port
ss -ltnp liste les ports en écoute avec le processus derrière chacun.
Savoir qui tient un fichier
lsof fichier nomme le processus qui empêche de démonter ou de supprimer.
Programmer une tâche
crontab -e pour éditer, -l pour relire. Cinq champs : minute, heure, jour, mois, semaine.
Créer un lien symbolique
ln -s cible lien. Le chemin de la cible gagne à être absolu.
Comparer deux fichiers
diff -u ancien nouveau donne le format qu’on lit partout ailleurs.
Extraire une colonne
awk "{print $2}" sort le deuxième champ, quel que soit le nombre d’espaces.
Enchaîner sur une liste
find … | xargs -n1 commande applique une commande à chaque résultat.
Trier et dédoublonner
sort | uniq -c compte les occurrences ; le tri est obligatoire avant uniq.
Vérifier une adresse IP
ip a remplace ifconfig ; ip r montre par où sortent les paquets.
Tester une machine
ping dit si elle répond, mais pas si le service tourne — c’est deux questions.
Répéter une commande
watch -n 2 commande la relance toutes les deux secondes, à la même place.