Linux, système d’exploitation open source omniprésent dans les serveurs, les environnements cloud et même les appareils mobiles, repose sur une interface en ligne de commande (CLI) puissante et intuitive. Que vous soyez administrateur système, développeur, data scientist ou simplement un passionné de technologie, connaître les commandes Linux essentielles est indispensable pour naviguer efficacement dans votre environnement. Ces commandes permettent de manipuler des fichiers, gérer des processus, surveiller les performances et automatiser des tâches complexes.
Contrairement aux idées reçues, la ligne de commande Linux n’est pas réservée aux experts. Avec une bonne compréhension des commandes de base, vous pouvez gagner un temps précieux, éviter les erreurs courantes et exploiter pleinement les capacités de votre machine. Cet article recense les 35 commandes Linux fondamentales, classées par catégorie, avec des exemples concrets pour chaque cas d’usage. Que vous utilisiez Ubuntu, Debian, CentOS ou une autre distribution, ces commandes fonctionneront dans la plupart des environnements Linux.
Pourquoi apprendre les commandes Linux de base ?
Maîtriser les commandes Linux offre plusieurs avantages majeurs :
- Efficacité : Les opérations effectuées via la CLI sont souvent plus rapides que les interfaces graphiques.
- Automatisation : Vous pouvez enchaîner des commandes dans des scripts pour automatiser des tâches répétitives.
- Contrôle total : La CLI donne accès à des fonctionnalités avancées inaccessibles via une interface graphique.
- Compatibilité : La plupart des serveurs et environnements cloud (AWS, Google Cloud, etc.) utilisent Linux.
- Résolution de problèmes : Savoir diagnostiquer des erreurs via la ligne de commande est crucial pour tout administrateur système.
Dans les sections suivantes, nous explorerons les commandes par catégorie, des plus simples aux plus avancées, avec des exemples pratiques pour chaque cas d’usage.
Navigation et gestion des fichiers
Commandes pour se déplacer dans le système de fichiers
Ces commandes permettent de naviguer dans l’arborescence des fichiers et dossiers sous Linux.
pwd(Print Working Directory) : Affiche le chemin absolu du répertoire courant.pwd /home/utilisateurls: Liste les fichiers et dossiers du répertoire courant.ls -l: Liste détaillée (permissions, propriétaire, taille, date).ls -a: Affiche les fichiers cachés (commençant par un point).ls -lh: Liste avec des tailles lisibles (Ko, Mo, Go).
cd(Change Directory) : Change de répertoire.cd /chemin/absolu: Se déplace vers un chemin absolu.cd dossier: Se déplace vers un sous-dossier.cd ..: Remonte d’un niveau dans l’arborescence.cd ~oucd: Retourne au répertoire personnel de l’utilisateur.
find: Recherche des fichiers et dossiers selon des critères.find /chemin -name "*.txt": Trouve tous les fichiers .txt dans un répertoire.find / -type f -size +10M: Trouve les fichiers de plus de 10 Mo sur tout le système.
Manipulation de fichiers et dossiers
Ces commandes permettent de créer, copier, déplacer et supprimer des fichiers et dossiers.
touch: Crée un fichier vide ou met à jour la date de modification d’un fichier existant.touch fichier.txtmkdir: Crée un nouveau dossier.mkdir nouveau_dossier: Crée un dossier dans le répertoire courant.mkdir -p dossier1/dossier2: Crée une arborescence de dossiers.
cp: Copie des fichiers ou dossiers.cp fichier.txt /chemin/destination/: Copie un fichier.cp -r dossier/ /chemin/destination/: Copie un dossier et son contenu récursivement.
mv: Déplace ou renomme des fichiers/dossiers.mv fichier.txt nouveau_nom.txt: Renomme un fichier.mv fichier.txt /chemin/destination/: Déplace un fichier.
rm: Supprime des fichiers ou dossiers.rm fichier.txt: Supprime un fichier.rm -r dossier/: Supprime un dossier et son contenu (attention, irréversible !).rm -f fichier.txt: Force la suppression sans confirmation.
cat: Affiche le contenu d’un fichier.cat fichier.txtless: Affiche le contenu d’un fichier page par page (idéal pour les gros fichiers).less fichier.txthead: Affiche les premières lignes d’un fichier.head -n 10 fichier.txt: Affiche les 10 premières lignes.
tail: Affiche les dernières lignes d’un fichier (utile pour les logs).tail -f /var/log/syslog: Affiche en temps réel les nouvelles lignes du fichier de log.
Gestion des permissions et propriétaires
Comprendre et modifier les permissions
Linux utilise un système de permissions basé sur les utilisateurs, les groupes et les autres. Chaque fichier/dossier a trois types de permissions : lecture (r), écriture (w) et exécution (x).
chmod: Modifie les permissions d’un fichier/dossier.chmod 755 fichier.sh: Donne les permissions rwxr-xr-x (propriétaire : lecture/écriture/exécution, groupe et autres : lecture/exécution).chmod +x script.sh: Ajoute le droit d’exécution au fichier.
chown: Modifie le propriétaire et le groupe d’un fichier/dossier.chown utilisateur:groupe fichier.txtchgrp: Modifie uniquement le groupe d’un fichier/dossier.chgrp groupe fichier.txtumask: Définit les permissions par défaut pour les nouveaux fichiers.umask 022Cela signifie que les nouveaux fichiers auront les permissions 644 (rw-r–r–) et les nouveaux dossiers 755 (rwxr-xr-x).
Gestion des processus
Commandes pour surveiller et contrôler les processus
Linux utilise des processus pour exécuter des programmes. Voici comment les gérer.
ps: Affiche la liste des processus en cours.ps aux: Affiche tous les processus avec des détails complets.ps -ef | grep nginx: Filtre les processus liés à Nginx.
top: Affiche en temps réel les processus en cours avec leur consommation de ressources.Appuyez sur
qpour quitter.htop: Version améliorée detopavec une interface plus intuitive (nécessite une installation).sudo apt install htop # Pour Debian/Ubuntu sudo yum install htop # Pour CentOS/RHELkill: Termine un processus en cours.kill -9 1234: Force l’arrêt du processus avec l’ID 1234.
killall: Termine tous les processus d’un nom donné.killall firefoxpkill: Termine un processus en fonction de son nom ou d’autres critères.pkill -u utilisateurbg: Reprend l’exécution d’un processus en arrière-plan.bg %1fg: Ramène un processus en avant-plan.fg %1
Gestion des utilisateurs et groupes
Commandes pour administrer les comptes utilisateurs
Linux est un système multi-utilisateurs. Voici comment gérer les comptes et les groupes.
useradd: Crée un nouvel utilisateur.sudo useradd -m -s /bin/bash nouveau_utilisateur-mcrée un répertoire personnel,-s /bin/bashdéfinit le shell par défaut.usermod: Modifie les propriétés d’un utilisateur.sudo usermod -aG sudo utilisateur: Ajoute un utilisateur au groupe sudo.sudo usermod -l ancien_nom nouveau_nom: Change le nom d’un utilisateur.
userdel: Supprime un utilisateur.sudo userdel -r utilisateur: Supprime l’utilisateur et son répertoire personnel.
passwd: Change le mot de passe d’un utilisateur.passwd utilisateurgroupadd: Crée un nouveau groupe.sudo groupadd developpeursgroupmod: Modifie un groupe.sudo groupmod -n nouveaux_developpeurs developpeursgroupdel: Supprime un groupe.sudo groupdel anciens_developpeursgroups: Affiche les groupes auxquels appartient un utilisateur.groups utilisateur
Réseau et connectivité
Commandes pour diagnostiquer et configurer le réseau
Ces commandes sont essentielles pour gérer les connexions réseau sous Linux.
ping: Teste la connectivité avec une adresse IP ou un nom de domaine.ping google.comifconfigouip: Affiche et configure les interfaces réseau.ifconfig: Affiche les interfaces réseau (déprécié sur certaines distributions).ip a: Équivalent moderne pour afficher les interfaces réseau.
netstat: Affiche les connexions réseau, tables de routage et statistiques.netstat -tuln: Affiche les ports ouverts en écoute.netstat -rn: Affiche la table de routage.
ss: Équivalent moderne denetstat.ss -tulncurl: Transfère des données depuis ou vers un serveur.curl https://exemple.com: Télécharge le contenu d’une URL.curl -O https://exemple.com/fichier.zip: Télécharge un fichier.
wget: Télécharge des fichiers depuis le web.wget https://exemple.com/fichier.tar.gztraceroute: Affiche le chemin parcouru par les paquets pour atteindre une destination.traceroute google.comnslookup: Interroge les serveurs DNS pour obtenir des informations sur un domaine.nslookup exemple.comdig: Outil avancé pour interroger les serveurs DNS.dig exemple.com
Archivage et compression
Commandes pour compresser et décompresser des fichiers
Ces commandes permettent de réduire la taille des fichiers et de les archiver pour le stockage ou le transfert.
tar: Archive des fichiers et dossiers.tar -cvf archive.tar dossier/: Crée une archive tar.tar -xvf archive.tar: Extrait une archive tar.tar -czvf archive.tar.gz dossier/: Crée une archive tar compressée

