🐧 Linux : Système et processus

Cette fiche présente les commandes essentielles pour gérer le système Linux et ses processus. Le monitoring et la gestion des ressources sont des aspects fondamentaux de l'administration système Linux.

📑 Sommaire

💻 Informations système

Commandes pour obtenir des informations sur votre système Linux :

uname -a                  # Informations complètes sur le système
hostnamectl              # Informations sur l'hôte, distribution, noyau
lsb_release -a           # Informations sur la distribution (si installé)
cat /etc/os-release      # Informations sur la distribution (méthode universelle)
uptime                   # Durée depuis le démarrage et charge système
timedatectl              # Affiche les informations de date et d'heure
date                     # Affiche la date et l'heure actuelles

🔄 Gestion des processus

Surveiller et gérer les processus en cours d'exécution :

ps aux                    # Liste tous les processus avec détails
ps -ef                   # Format standard Unix pour lister les processus
ps -ef | grep firefox    # Filtrer les processus (ici firefox)
pgrep firefox            # Trouver le PID d'un processus par nom
top                      # Vue dynamique des processus en temps réel
htop                     # Version améliorée de top (à installer)
kill PID                 # Terminer un processus par son ID
killall firefox          # Terminer tous les processus nommés firefox
xkill                    # Cliquer pour tuer une fenêtre graphique
nice -n 19 commande      # Exécuter avec une priorité basse
renice -n 10 -p PID      # Changer la priorité d'un processus existant

Signaux courants utilisés avec kill :

📊 Surveillance des ressources

Monitorer les ressources système :

free -h                  # Affiche l'utilisation de la mémoire (format lisible)
df -h                    # Affiche l'espace disque (format lisible)
du -sh /dossier          # Taille d'un dossier (format lisible)
vmstat                   # Statistiques mémoire/CPU/E/S
iostat                   # Statistiques d'entrées/sorties disque
iotop                    # Surveiller l'activité des E/S par processus
watch -n 1 free -h       # Affiche la mémoire RAM toutes les secondes
netstat -tuln            # Affiche les connexions réseau et ports ouverts
lsof                     # Liste les fichiers ouverts

🔧 Gestion des services (systemd)

La plupart des distributions Linux modernes utilisent systemd pour gérer les services :

systemctl status service   # État d'un service
systemctl start service   # Démarrer un service
systemctl stop service    # Arrêter un service
systemctl restart service # Redémarrer un service
systemctl enable service  # Activer au démarrage
systemctl disable service # Désactiver au démarrage
systemctl list-units --type=service --all  # Lister tous les services
systemctl list-dependencies service  # Afficher les dépendances

Exemple avec un service courant :

systemctl status ssh      # Vérifier l'état du service SSH
systemctl restart nginx   # Redémarrer le serveur web nginx

📝 Journaux système

Consulter et gérer les journaux système :

journalctl               # Affiche tous les journaux (systemd)
journalctl -u ssh       # Journaux pour un service spécifique
journalctl -f           # Suit les nouveaux messages en temps réel
journalctl --since=today # Journaux d'aujourd'hui
journalctl -p err       # Seulement les erreurs

cat /var/log/syslog     # Journal système (méthode traditionnelle)
tail -f /var/log/auth.log # Suit les authentifications en temps réel
dmesg                   # Messages du noyau

💾 Stockage et disques

Gestion des disques et partitions :

lsblk                    # Liste tous les périphériques de stockage
fdisk -l                 # Affiche les tables de partitions (root)
df -h                    # Affiche l'espace disque utilisé
du -sh /home             # Taille du répertoire /home
mount                    # Affiche les systèmes de fichiers montés
mount /dev/sdb1 /mnt     # Monte une partition
umount /mnt              # Démonte un système de fichiers
blkid                    # Affiche les UUID des partitions

⏻ Démarrage et arrêt

Commandes pour redémarrer ou arrêter le système :

shutdown -h now          # Arrêt immédiat
shutdown -r now          # Redémarrage immédiat
shutdown -h +10          # Arrêt dans 10 minutes
reboot                   # Redémarrage
poweroff                 # Arrêt
systemctl suspend        # Mise en veille
systemctl hibernate      # Mise en hibernation
🎁 Bonus : Commandes avancées

Référence rapide des signaux

kill -l                  # Liste tous les signaux disponibles

Démarrage en mode maintenance

systemctl rescue         # Entre en mode maintenance

Limiter les ressources (cgroups)

systemd-run --scope -p MemoryLimit=1G firefox  # Limite de mémoire pour une application

Planification de tâches

crontab -l               # Affiche les tâches cron de l'utilisateur
crontab -e               # Édite les tâches cron
systemctl list-timers    # Affiche les timers systemd
🏠 Retour au sommaire général