Recherche de site Web

Les 20 meilleures commandes Linux pour une utilisation quotidienne sur les serveurs de production


En tant que administrateur système Linux travaillant dans un environnement de production, votre routine quotidienne consiste à maintenir les systèmes stables, sécurisés et performants au mieux. De la résolution de problèmes à la surveillance des ressources et à l'assurance de la disponibilité, vous portez plusieurs casquettes, et le temps est toujours précieux.

Bien que Linux offre des milliers de commandes, elles ne font pas toutes partie de votre boîte à outils quotidienne. Cependant, il existe un ensemble de commandes puissantes et fiables que vous utiliserez chaque jour, souvent plusieurs fois.

Dans cet article, je vais vous guider à travers les 20 commandes Linux les plus essentielles que chaque administrateur système devrait maîtriser. Ce ne sont pas seulement des commandes, ce sont vos outils de référence pour surveiller les performances, gérer les journaux, contrôler les services, déboguer les problèmes, et bien plus encore.

1. htop – Visionneuse de processus interactive

Si vous utilisez encore top, il est temps de passer à htop, qui est une alternative puissante et conviviale affichant l'utilisation du CPU, de la mémoire, du swap, de l'arborescence des processus et plus encore dans une interface propre et interactive.

htop

Utilisez les touches fléchées pour faire défiler, F6 pour trier les processus, et F9 pour en terminer un, ce qui est beaucoup plus facile que de trouver manuellement le PID et d'utiliser la commande kill.

2. lsof – Lister les fichiers et sockets ouverts

lsof signifie List Open Files, et c’est l’un des outils les plus puissants pour identifier quel processus utilise un fichier, un répertoire ou un port réseau spécifique sur un système Linux.

lsof -i :80

Cela affichera le PID, l'utilisateur et la commande qui utilisent actuellement le port 80, généralement utile lorsque votre serveur web ne démarre pas parce que le port est déjà utilisé.

3. journalctl – Afficher les journaux système (Systemd)

Sur les systèmes basés sur systemd (comme RHEL 7+, CentOS 7+, Ubuntu 18.04+), journalctl est votre outil de prédilection pour accéder aux journaux du système et les analyser.

journalctl -xe

Cette commande affiche les journaux les plus récents en mettant l'accent sur les erreurs et les messages critiques – super utile lorsque quelque chose se casse.

Vous voulez vérifier les journaux d’un service spécifique ? Il suffit d’ajouter l’option -u suivie du nom du service :

journalctl -u nginx

4. systemctl – Gérer les services Systemd

La plupart des distributions Linux modernes utilisent systemd comme système d'initialisation par défaut, et la commande systemctl vous permet de démarrer, arrêter, redémarrer, activer, désactiver et vérifier le statut des services sur votre système.

Voici quelques-uns des exemples les plus courants et utiles :

# Check the status of a service
systemctl status apache2

Restart the SSH service
systemctl restart sshd

Enable Nginx to start at boot
systemctl enable nginx

5. du – Vérifier l'utilisation du disque

Besoin de savoir ce qui prend de la place sur votre serveur ? La commande du (disk usage) est l'outil de référence pour cela.

du -sh /var/*

Cette commande affiche la taille de chaque sous-répertoire à l'intérieur de /var. L'option -s vous donne un résumé (au lieu de lister tous les fichiers), et -h rend la sortie lisible par l'homme (comme Mo, Go au lieu de seulement des octets).

120M   /var/log  
1.5G   /var/lib  
4.0K   /var/tmp  

6. df – Vérifier l'utilisation de l'espace disque

Vous voulez savoir combien d'espace reste sur les disques de votre serveur ? Utilisez la commande df, qui montre combien d'espace disque est utilisé et combien est encore disponible sur tous les systèmes de fichiers montés.

df -h

Cette commande est essentielle lorsque vous traitez des disques pleins, des sauvegardes ou des plantages d'applications dus à un manque d'espace.

7. free – Vérifier l'utilisation de la mémoire et du swap

Vous manquez de mémoire ? Utilisez la commande free pour vérifier combien de RAM et de mémoire d'échange votre système utilise.

free -h

8. temps de fonctionnement – Vérifier le temps de fonctionnement du système et la charge moyenne

La commande uptime vous montre depuis combien de temps votre système Linux fonctionne, combien d'utilisateurs sont connectés, et les moyennes de charge du système sur les 1, 5 et 15 dernières minutes.

uptime

Exemple de sortie:

10:42:35 up 3 days,  5:22,  2 users,  load average: 0.10, 0.25, 0.32

9. top – Le moniteur système en temps réel de base

top n'est pas aussi convivial que htop, mais il est préinstallé sur presque tous les systèmes Linux. Si vous travaillez sur un serveur minimal ou fraîchement installé où htop n'est pas encore disponible, top est votre solution rapide.

top

10. ps aux – Prendre un instantané des processus en cours

Besoin d'un aperçu rapide de tous les processus en cours sur votre système ? ps aux vous donne un instantané complet – qui exécute quoi, combien de CPU et de mémoire ils utilisent, et plus encore.

ps aux | grep apache

Cette commande liste tous les processus, et la partie grep apache filtre uniquement ceux liés à Apache. Très pratique lorsque vous cherchez à localiser des services, à déboguer des problèmes ou à écrire des scripts qui surveillent l'activité des processus.

Vous voulez approfondir ? Utilisez :

ps aux --sort=-%mem | head

Cela montre les processus les plus gourmands en mémoire, triés par ordre décroissant.

11. netstat/ss – Vérifier les connexions réseau

En tant qu'administrateur système, il est important de savoir quels services écoutent sur quels ports et quelles connexions distantes sont actives sur votre serveur.

Pendant des années, netstat était la commande de référence. Mais maintenant, ss (statistiques des sockets) a pris sa place – il est plus rapide, plus moderne et activement maintenu.

ss -tuln

12. ip – Interface réseau et routage

La commande ip est le successeur moderne des anciennes commandes ifconfig et route. Si vous utilisez encore ifconfig, il est temps de passer à autre chose – ip est plus puissant, activement maintenu et disponible par défaut sur toutes les distributions Linux modernes.

Voici deux sous-commandes importantes que vous utiliserez quotidiennement :

ip a        # Shows all IP addresses and network interfaces
ip r        # Displays the system's routing table

13. ping – Connectivité réseau

L'un des outils les plus simples et rapides pour vérifier si un hôte (site Web, serveur ou IP) est accessible depuis votre système. Il fonctionne en envoyant des requêtes d'écho ICMP (Internet Control Message Protocol) et en attendant des réponses.

ping google.com

Si l'hôte est en ligne et accessible, vous verrez des réponses avec le temps, le TTL (Time to Live) et les statistiques des paquets. Vous voulez envoyer seulement quelques paquets au lieu de noyer le réseau indéfiniment ? Utilisez l'option -c (pour le nombre) :

ping -c 4 google.com

14. traceroute/tracepath – Débogage des routes réseau

Lorsqu'un serveur ou un site web ne répond pas, et que ping ne vous donne aucune réponse, il est temps de voir comment vos paquets traversent le réseau et où ils se bloquent. C'est là qu'intervient traceroute (ou son alternative tracepath).

Ces commandes montrent le chemin complet que votre paquet emprunte depuis votre système jusqu'à la destination, en énumérant chaque routeur intermédiaire ou saut en cours de route.

traceroute google.com

15. nc (Netcat) – Tester la connectivité des ports

nc, abréviation de Netcat, est souvent appelé le couteau suisse du réseautage. L'un de ses usages les plus courants et puissants pour les administrateurs système est de vérifier si un port est ouvert et accessible sur une machine distante – extrêmement pratique pour dépanner des services comme SSH, les serveurs web ou les ports de base de données.

Disons que vous voulez tester si SSH (port 22) est ouvert sur un serveur distant 192.168.1.10.

nc -zv 192.168.1.10 22

16. rsync – Synchroniser les fichiers via SSH

Lorsqu'il s'agit de sauvegarder ou de synchroniser des fichiers, rien ne vaut rsync, qui est rapide, efficace et respectueux du réseau. Contrairement à scp, qui copie tout depuis le début, rsync ne transfère que les parties modifiées des fichiers, ce qui permet de gagner du temps et de la bande passante.

rsync -avz /data/ user@remote:/backup/

Cette commande est utilisée pour synchroniser ou copier tout ce qui se trouve à l'intérieur du répertoire /data/ depuis votre machine locale vers un serveur distant via SSH, en le plaçant dans le répertoire /backup/ sur ce serveur.

17. crontab – Planifier des tâches (Automatisation des tâches)

En tant qu'administrateur système, vous ne voulez pas exécuter manuellement des scripts tous les jours, n'est-ce pas ? C'est là qu'intervient crontab, qui vous permet de planifier l'exécution automatique des tâches à des moments précis — que ce soit pour effectuer des sauvegardes, faire pivoter les journaux ou envoyer des rapports.

crontab signifie “table de cron” – un fichier qui contient une liste de commandes à exécuter selon un calendrier par le démon cron. C’est comme votre planificateur de tâches personnel pour Linux.

crontab -e

Ajoutez des entrées comme :

0 2 * * * /usr/bin/backup.sh

Chaque ligne d'un crontab suit ce format à 5 champs :

* * * * *  command-to-run
│ │ │ │ │
│ │ │ │ └── Day of the week (0 - 7) [Sunday = 0 or 7]
│ │ │ └──── Month (1 - 12)
│ │ └────── Day of the month (1 - 31)
│ └──────── Hour (0 - 23)
└────────── Minute (0 - 59)

18. tail -f – Surveillance en direct des journaux

Lorsqu'un problème survient sur un système Linux, les journaux sont généralement le premier endroit où vous devriez regarder. La commande tail -f vous permet de regarder les journaux en temps réel, ce qui est très utile pour le débogage.

tail -f /var/log/messages

Vous voulez filtrer les journaux pour un service ou un mot-clé spécifique ? Combinez-le avec grep :

tail -f /var/log/syslog | grep sshd

19. chmod et chown – Permissions et propriété des fichiers

La gestion des permissions des fichiers est cruciale sur tout système Linux, et ces deux commandes vous aident à contrôler qui peut accéder à quoi :

  • chmod définit les permissions (lecture, écriture, exécution).
  • chown change le propriétaire et le groupe.

Exemples :

chmod 755 script.sh
chown user:user file.txt

20. trouver – Rechercher des fichiers

Besoin de localiser un fichier, mais vous ne savez pas où il se trouve ? La commande find est votre meilleur choix, elle est puissante, flexible et fonctionne sur le nom du fichier, la taille, le type ou même la date de modification.

find /var/log -name "*.log"

Vous voulez nettoyer les anciens fichiers ?

find /tmp -type f -mtime +7 -delete

Cela supprime les fichiers dans /tmp qui ont plus de 7 jours – très utile pour les scripts de nettoyage de disque.

Mots de clôture

En tant que SysAdmin, connaître ces 20 commandes peut considérablement améliorer votre efficacité. Que vous soyez en train de résoudre un problème, de surveiller la santé du système ou d'automatiser des tâches, ce sont les outils que vous utiliserez quotidiennement.

Si vous avez trouvé cet article utile, partagez-le avec vos collègues administrateurs Linux ou mettez-le en favori pour référence future.