Linux / Commandes essentielles : référence par tâche

Pour vous repérer dans les fichiers Linux, commencez par pwd, cd et ls ; pour rechercher du texte ou des fichiers, utilisez grep et find. Cette référence classe les commandes par tâche afin de choisir l’outil adapté, puis d’accéder à ses options et exemples détaillés.

Les options prises en charge par une même commande peuvent varier selon la distribution et les paquets installés. Sur un système réel, il est recommandé de vérifier la description de l'environnement actuel en utilisant man command ou command --help.

Les liens des commandes ouvrent leur guide en français lorsqu’il est disponible ; les autres renvoient provisoirement à l’article anglais.

Comment trouver des commandes Linux

Si vous ne connaissez pas la syntaxe exacte ou l'emplacement d'exécution d'une commande, essayez d'utiliser les commandes suivantes.

man ls
ls --help
type cd
command -v python

Dans man ls, appuyez sur q pour quitter le lecteur courant avant de saisir la commande suivante. type cd identifie une commande intégrée ; command -v python affiche ce que Bash résout sous ce nom, ou renvoie un statut non nul si le nom est introuvable. Ce test n’atteste pas à lui seul de la version de Python installée.

Commandes d'aide et de l'environnement shell

Commande Aperçu
man Afficher les pages de manuel des commandes, des fichiers de configuration et des appels système.
info Lire les documents détaillés Info des programmes GNU.
help Afficher l'aide pour les commandes intégrées de Bash telles que cd et read.
apropos Recherche des mots-clés dans la description du manuel pour trouver les commandes associées.
whatis Affiche une brève description dans le manuel sur ce que fait une commande.
type Vérifie si un nom est un alias, une fonction, une commande interne du shell ou un fichier exécutable.
command Évite les conflits de noms avec les fonctions du shell lors de l'exécution d'une commande ou vérifie le lieu d'exécution avec -v.
history Utilisé pour vérifier ou réexécuter l'historique des commandes précédemment exécutées dans le shell actuel.
alias Attribue de courts alias aux commandes longues fréquemment utilisées.
unalias Supprime les alias de commandes définis dans le shell actuel.
clear Efface l'écran du terminal.
watch Exécute à plusieurs reprises la commande spécifiée à intervalles réguliers pour observer les changements dans les résultats.
time Mesure le temps d'exécution réel et le temps d’utilisation du processeur (CPU, Central Processing Unit) d'une commande.
env Affiche les variables d'environnement ou exécute une commande avec des variables d'environnement temporaires.
printenv Affiche les valeurs de toutes les variables d'environnement ou des variables d'environnement spécifiées.

Navigation et informations sur les fichiers

Commande Aperçu
pwd Affiche le chemin absolu du répertoire de travail actuel.
ls Vérifie la liste des fichiers et des répertoires, les permissions, le propriétaire et la taille, etc.
cd Change le répertoire de travail actuel pour un autre chemin.
tree Afficher la structure des répertoires et des fichiers sous forme d'arborescence. Une installation peut être nécessaire séparément.
file Estimer le type de fichier en inspectant le contenu du fichier au lieu de l'extension.
stat Afficher la taille détaillée du fichier, les permissions, l'inode et les heures d'accès/modification.
basename Extraire uniquement le dernier nom de fichier ou de répertoire d'un chemin complet.
dirname Extraire le chemin du répertoire en excluant le dernier composant d'un chemin complet.
realpath Afficher le chemin absolu en résolvant les chemins relatifs et les liens symboliques.
readlink Vérifier le chemin cible auquel le lien symbolique pointe.

Commandes de gestion des fichiers et des répertoires

Commande Aperçu
touch Créer un fichier vide ou modifier les heures d'accès/modification d'un fichier existant.
mkdir Créer un nouveau répertoire.
rmdir Supprimer un répertoire vide.
cp Copier des fichiers ou des répertoires vers un autre emplacement.
mv Déplacer ou renommer des fichiers et des répertoires.
rm Supprimer des fichiers ou des répertoires. La suppression ne va pas dans la corbeille, donc vérifiez attentivement la cible.
ln Créer un lien physique ou un lien symbolique d'un fichier.
install Copier un fichier tout en définissant le propriétaire, les permissions et le répertoire cible.
shred Écraser le contenu d’un fichier ; la suppression du fichier demande -u. L’effacement complet n’est pas garanti avec les SSD, les instantanés, la copie à l’écriture ou les sauvegardes.
mktemp Créer en toute sécurité des fichiers temporaires ou des répertoires temporaires qui évitent les conflits de noms.
truncate Tronquer ou étendre un fichier à la taille spécifiée.
dd Copier ou convertir des données par blocs. Si l'appareil cible est mal spécifié, des données peuvent être perdues.
Commande Aperçu
cat Afficher le contenu d'un fichier ou concaténer plusieurs fichiers.
tac Imprime dans l'ordre inverse à partir de la dernière ligne du fichier.
less Lit de grands fichiers page par page tout en se déplaçant vers le haut et vers le bas et en recherchant.
more Vérifie le contenu d'un fichier séquentiellement, écran par écran.
head Vérifie la partie initiale d'un fichier ou la sortie d'une commande.
tail Imprime la dernière partie d'un fichier, et avec l'option -f, vous pouvez surveiller continuellement les changements de journal.
grep Trouve des lignes dans un fichier ou une sortie de commande qui correspondent à une chaîne ou à une expression régulière.
find Recherche des fichiers dans un chemin spécifié en utilisant des conditions telles que le nom, le type, la taille, les permissions et la date de modification.
locate Trouve rapidement des chemins en recherchant dans une base de données de fichiers pré-construite.
which Trouve le chemin d'un programme qui sera exécuté à partir de PATH. type est plus adapté pour vérifier les alias ou les fonctions shell.
whereis Recherche l'emplacement exécutable, la source et la page de manuel d'une commande.
diff Compare les différences entre deux fichiers ou répertoires ligne par ligne.
cmp Compare deux fichiers octet par octet pour trouver le premier emplacement différent.

Commandes de traitement de texte

Commande Aperçu
wc Compter les fins de ligne, les mots, les caractères ou les octets selon les options choisies.
sort Trie les lignes de texte en fonction des caractères, des nombres ou des colonnes spécifiées.
uniq Supprime les lignes dupliquées adjacentes ou compte le nombre de doublons.
cut Extrait des champs de chaque ligne en fonction de la plage de caractères spécifiée ou du délimiteur.
paste Combine horizontalement les lignes correspondantes de plusieurs fichiers.
join Joint les lignes de deux fichiers texte triés en fonction des champs communs.
comm Compare deux fichiers triés pour distinguer les lignes communes et les lignes uniques à chaque fichier.
tr Remplace les caractères dans l'entrée par d'autres caractères ou supprime les caractères répétés et spécifiques.
tee Afficher l'entrée à l'écran tout en l'enregistrant également dans un fichier.
xargs Convertir les éléments reçus via l'entrée standard en arguments pour une autre commande et l'exécuter.
sed Effectuer des opérations de recherche, remplacement, suppression et sélection de lignes dans un flux de texte.
awk Analyser le texte par champ et calculer ou afficher selon des conditions.
column Disposer le texte délimité dans un format de colonnes facile à lire.
split Diviser de gros fichiers en plusieurs fichiers en fonction de la taille ou du nombre de lignes.
csplit Diviser les fichiers en fonction des numéros de ligne ou des positions où apparaissent les motifs.
fmt Réajuster la longueur des lignes de paragraphes de texte général pour les rendre plus faciles à lire.
fold Divise les longues lignes d'entrée en plusieurs lignes selon une largeur spécifiée.
printf Affiche les chaînes et les nombres dans un format spécifié.

Commandes pour l'utilisateur et les permissions

Commande Aperçu
whoami Affiche le nom de l'utilisateur exécutant la commande actuelle.
id Vérifie l'ID utilisateur, le groupe par défaut et les informations des groupes supplémentaires.
who Affiche les utilisateurs actuellement connectés au système et leurs terminaux de connexion.
w Montre les utilisateurs connectés, les tâches en cours et la charge du système ensemble.
last Vérifie les enregistrements de connexion et de déconnexion.
groups Affiche les groupes auxquels l'utilisateur actuel ou spécifié appartient.
passwd Change ou gère les mots de passe des utilisateurs.
sudo Permet aux utilisateurs autorisés d'exécuter des commandes en tant qu'autres utilisateurs, généralement avec des privilèges root.
su Exécuter un nouveau shell ou une commande avec l’identité d’un autre utilisateur ; exit permet de quitter le shell ainsi ouvert.
chmod Modifier les permissions de lecture, écriture et exécution des fichiers et répertoires.
chown Changer le propriétaire ou le groupe propriétaire des fichiers et répertoires.
chgrp Changer le groupe propriétaire des fichiers et répertoires.
umask Vérifier ou définir les valeurs de limite de permission par défaut qui seront appliquées aux nouveaux fichiers et répertoires.
getent Interroger les bases de données du système de résolution des noms NSS (Name Service Switch), par exemple les utilisateurs, groupes et hôtes.

Commandes de processus et de session de terminal

Commande Aperçu
ps Vérifier l'ID, l'utilisateur, le statut et la commande d'exécution des processus en cours.
top Vérifiez l'utilisation du CPU et de la mémoire par processus en temps réel.
htop Afficher et gérer les processus dans un écran interactif. Une installation séparée peut être nécessaire.
pgrep Rechercher les identifiants de processus par nom de processus et conditions.
pkill Envoyer un signal aux processus correspondant au nom ou aux conditions.
kill Envoyer un signal tel qu'une demande de terminaison en spécifiant un identifiant de processus.
killall Envoyer un signal aux processus correspondant au nom spécifié.
jobs Vérifiez les tâches en arrière-plan et arrêtées exécutées dans le shell actuel.
bg Continuer l'exécution des tâches du shell arrêtées en arrière-plan.
fg Ramène une tâche du shell en arrière-plan ou arrêtée au premier plan.
nohup Lancer une commande en ignorant le signal de déconnexion SIGHUP. La mise en arrière-plan requiert une action distincte et la persistance dépend aussi de la gestion des sessions.
nice Lancer une commande avec une valeur de courtoisie (niceness) modifiée, qui influence sa priorité d’ordonnancement normale.
renice Modifier la valeur de courtoisie d’un processus existant, sous réserve des droits nécessaires.
screen Crée plusieurs sessions virtuelles dans un seul terminal et permet de détacher et reconnecter.
tmux Un multiplexeur de terminal qui gère plusieurs fenêtres et panneaux de shell, et permet de détacher et reconnecter des sessions.

Commandes d'informations système et de service

Commande Aperçu
uptime Vérifie le temps de fonctionnement du système, le nombre d'utilisateurs connectés et la charge moyenne.
free Vérifie la capacité totale et l'état d'utilisation de la mémoire physique et de l'espace d'échange.
uname Afficher des informations telles que la version du noyau actuellement en cours d'exécution et l'architecture matérielle.
hostnamectl Dans un environnement systemd, vérifier le nom de l'hôte, la distribution, le noyau et les informations d'architecture ou définir le nom de l'hôte.
date Afficher la date et l'heure actuelles ou les afficher dans un format spécifié.
timedatectl Dans un environnement systemd, gérer l'heure, les fuseaux horaires et l'état de la synchronisation de l'heure réseau.
lscpu Afficher l'architecture du CPU, les cœurs, les threads et les informations de virtualisation.
lsmod Vérifier la liste des modules actuellement chargés dans le noyau et leur état d'utilisation.
modinfo Vérifier l'emplacement du fichier, la description, la version et les paramètres des modules du noyau.
dmesg Vérifiez les messages de démarrage, de matériel et de pilotes dans le tampon circulaire du noyau.
systemctl Vérifiez l'état des services systemd et des autres unités, et démarrez, arrêtez ou activez-les.
journalctl Consultez les journaux système et de services stockés dans le journal systemd.
reboot Demander un redémarrage ordonné du système après vérification des tâches en cours et des autres utilisateurs.
shutdown Planifiez un arrêt ou un redémarrage du système immédiatement ou à une heure spécifiée.

Commandes de disque et de système de fichiers

Commande Aperçu
df Vérifiez la capacité totale et l'espace disponible pour chaque système de fichiers monté.
du Calculez l'utilisation du disque des fichiers et des répertoires.
lsblk Vérifiez la hiérarchie des disques, partitions et volumes logiques, ainsi que leurs points de montage.
blkid Interrogez l’identifiant universel unique (UUID), le type de système de fichiers et le label des périphériques de bloc.
mount Monter un système de fichiers dans un répertoire spécifié ou vérifier l'état de montage actuel.
umount Démonter un système de fichiers. Des fichiers ouverts ou un répertoire de travail situé dans le montage peuvent empêcher l’opération.
fdisk Principalement vérifier ou modifier la table de partitions des disques, aux formats MBR (Master Boot Record) et GPT (GUID Partition Table). Vous devez vérifier le disque cible avant d'apporter des modifications.
parted Créer des partitions sur diverses tables de partitions et gérer leur taille et leur emplacement.
mkfs Créer un nouveau système de fichiers sur une partition ou un périphérique. Les données existantes peuvent être perdues.
fsck Vérifier, et selon l’outil réparer, un système de fichiers pris en charge. Suivre les conditions de son vérificateur ; ne pas lancer une réparation sur un système de fichiers monté.
sync Demande que les données du système de fichiers restant en mémoire soient écrites sur le périphérique de stockage.

Commandes réseau

Commande Aperçu
ip Vérifie ou configure les interfaces réseau, les adresses du protocole Internet (IP), le routage et les tables de voisins.
ss Vérifie les sockets TCP (Transmission Control Protocol) et UDP (User Datagram Protocol), les ports d’écoute et l'état des connexions.
ping Envoie des paquets du protocole de contrôle ICMP (Internet Control Message Protocol) pour vérifier si l'hôte cible répond et mesure le temps aller-retour.
tracepath Examine le chemin réseau et l'unité de transmission maximale (MTU) vers la destination.
traceroute Trace le chemin des routeurs que prennent les paquets pour atteindre la destination.
dig Interroge les enregistrements du système de noms de domaine DNS (Domain Name System) et examine les réponses en détail.
host Interroge brièvement les informations DNS pour les noms de domaine et les adresses IP.
nslookup Interroge les informations de domaine ou d'adresse IP sur un serveur DNS.
curl Demander ou envoyer des données en utilisant divers protocoles tels que HTTP (Hypertext Transfer Protocol) via une adresse URL (Uniform Resource Locator).
wget Télécharger des fichiers à partir d'adresses web et FTP et effectuer des téléchargements récursifs.
nc Utiliser Netcat pour effectuer des connexions TCP/UDP, vérifier les ports et transférer des données simples.
nmap Examiner les hôtes, les ports ouverts et les informations de service des cibles autorisées.
ethtool Vérifier la vitesse de connexion, le pilote et les paramètres de fonctionnalités d'une interface Ethernet.
resolvectl Vérifier les paramètres DNS et l'état des requêtes dans un environnement systemd-resolved.

Commandes d'accès à distance et de transfert de fichiers

Commande Aperçu
ssh Se connecter à un système distant ou y exécuter une commande via le protocole chiffré SSH (Secure Shell).
scp Copier des fichiers entre les systèmes locaux et distants en utilisant une connexion SSH.
sftp Utilisez une session de transfert de fichiers interactive basée sur SSH.
rsync Synchronisez efficacement des répertoires locaux ou distants en vous concentrant sur les fichiers modifiés.
ssh-keygen Créez des paires de clés publiques et privées SSH et gérez les empreintes de clés.
ssh-copy-id Ajoutez une clé publique à la liste des clés autorisées d'un compte distant.

Commandes de compression et d'archivage

Commande Aperçu
tar Combinez ou extrayez plusieurs fichiers et répertoires dans une seule archive, et utilisez-la avec des outils de compression.
gzip Compressez les fichiers au format gzip.
gunzip Décompresser un fichier au format gzip.
bzip2 Compressez les fichiers au format bzip2.
bunzip2 Décompresser un fichier au format bzip2.
xz Compressez les fichiers au format xz.
unxz Décompresser un fichier au format xz.
zip Compresser des fichiers et des répertoires au format ZIP.
unzip Vérifier la liste d'une archive ZIP ou l'extraire.

Commandes de gestion des paquets

Les commandes de gestion des paquets varient selon la distribution. Vous devriez vérifier la distribution actuelle avec cat /etc/os-release et utiliser l'outil approprié.

Commande Aperçu
apt Commandes utilisateur utilisées dans les systèmes Debian/Ubuntu pour rechercher, installer, supprimer et mettre à jour des paquets.
apt-get Commandes APT largement utilisées dans les systèmes Debian/Ubuntu pour les scripts et les opérations détaillées sur les paquets.
dpkg Effectue l'installation locale de paquets DEB et les requêtes sur la base de données des paquets sur les systèmes basés sur Debian.
dnf Gère les paquets et les dépôts sur les systèmes Fedora/RHEL/Rocky Linux/AlmaLinux.
rpm Interroge ou gère les fichiers de paquets RPM et la base de données des paquets installés.
zypper Gérer les paquets et les dépôts sur openSUSE et SUSE Linux Enterprise.
pacman Installer et supprimer des paquets et mettre à jour le système sur les distributions basées sur Arch Linux.
apk Rechercher, installer, supprimer des paquets et actualiser les informations des dépôts sur Alpine Linux.

Points à vérifier lors de l'utilisation des commandes

  • Pour les commandes qui modifient ou suppriment des données, comme rm, dd, mkfs, fdisk, vérifier d'abord le chemin et le périphérique cible.
  • N'utilisez sudo que pour les commandes nécessaires et n'exécutez pas de commandes en tant qu'administrateur si vous ne les comprenez pas.
  • Vérifiez avec man et --help si les options trouvées sur internet existent sur votre système actuel.
  • Les commandes ou options peuvent ne pas exister selon la distribution, la version du programme et les paquets installés.

Documentation officielle

Cette liste est un point de départ pour trouver rapidement des commandes. Dans l'utilisation réelle, il est plus sûr de vérifier la syntaxe de base de chaque commande, les options couramment utilisées, les exemples d'exécution et les précautions avant de l'utiliser.