# Référence des commandes Linux
Table of Contents
Toutes ces commandes fonctionnent en bash et devraient couvrir la majorité de vos besoins. Elles sont installées par défaut dans la plupart des distributions Linux.
Documentation
Obtenez les connaissances directement depuis la ligne de commande.
man
La seule commande nécessaire pour comprendre toute les autres. Affiche les options, les modèles d’utilisation et les exemples.
man mv
man -k search_term # rechercher des commandes contenant le mot-clé-h ou —help
La plupart des commandes supportent l’option -h ou —help pour afficher une aide rapide.
mv --helpSe déplacer
Apprenez à naviguer dans le système de fichiers.
pwd
Affiche le chemin du dossier dans lequel vous vous trouvez.
pwd # Sortie : /home/username/documentscd
Se déplacer entre les répertoires. Naviguez dans le système de fichiers en changeant votre emplacement actuel. Dans les versions récentes de bash, vous n’avez même pas besoin d’utiliser CD, vous pouvez simplement taper le nom du répertoire.
cd /home/user # aller vers un chemin spécifiquecd .. # remonter d'un niveaucd ~ # aller au répertoire homecd - # retourner au répertoire précédentcd # aller au répertoire home (raccourci)
my_folder # aller vers my_folderls
Lister les fichiers et dossiers dans le répertoire actuel. Montre ce qui est disponible à votre emplacement actuel.
ls # listage basiquels -l # liste détaillée avec permissions, taille, datels -la # inclure les fichiers cachés (commençant par .)ls -lh # tailles de fichiers lisibles par l'humainls *.txt # lister tous les fichiers avec l'extension .txtManipuler les fichiers et dossiers
touch
Créer un fichier vide ou mettre à jour l’horodatage d’un fichier existant. Moyen rapide de créer de nouveaux fichiers.
touch newfile.txttouch file1.txt file2.txt file3.txtmkdir
Créer de nouveaux répertoires. Construire une structure de dossiers pour organiser les fichiers.
mkdir newfoldermkdir folder1 folder2 folder3mkdir -p path/to/deep/folder # utiliser -p aussi pour éviter les erreurs si le dossier existemkdir -p project/{src,docs,tests}mv
Déplacer des fichiers/dossiers vers un nouvel emplacement ou les renommer.
mv oldname.txt newname.txt # renommer un fichiermv file.txt /path/to/destination/ # déplacer un fichier vers un autre répertoiremv folder/ /new/location/ # déplacer un dossier entiermv *.txt documents/ # déplacer tous les fichiers .txt vers le dossier documentsrm
Supprimer définitivement des fichiers et répertoires. Attention - il n’y a pas de corbeille dans le terminal.
rm file.txt # supprimer un seul fichierrm file1.txt file2.txt # supprimer plusieurs fichiersrm -r folder/ # supprimer un dossier et tout son contenu récursivementrm -rf dangerous_folder/ # forcer la suppression sans confirmationrm *.tmp # supprimer tous les fichiers .tmpManipuler le texte
echo
Afficher du texte dans la sortie du terminal. Afficher des messages, des variables, ou créer du contenu textuel simple.
echo "Hi mom !" # afficher du texte simpleecho "Hello $USER" # afficher avec une variableecho -n "No newline" # afficher sans nouvelle ligne à la finecho "Line 1\nLine 2" # afficher avec des caractères de nouvelle lignecat
Afficher tout le contenu de fichier(s) dans le terminal. Voir le contenu des fichiers ou combiner plusieurs fichiers.
cat file.txt # afficher le contenu du fichiercat file1.txt file2.txt # afficher plusieurs fichierscat -n file.txt # afficher avec numéros de lignecat > newfile.txt # créer un fichier et taper le contenu (Ctrl+D pour sauvegarder)cut
Extraire des colonnes ou champs spécifiques du texte. Utile pour traiter des données structurées comme les fichiers CSV.
cut -d',' -f2 data.csv # extraire la 2ème colonne du CSVcut -d':' -f1,3 /etc/passwd # extraire les 1er et 3ème champscut -c1-5 file.txt # extraire les caractères 1-5 de chaque ligneecho "a,b,c,d" | cut -d',' -f2-4 # extraire les colonnes 2 à 4sort
Trier les lignes de texte par ordre alphabétique ou numérique. Organiser les données dans un ordre lisible.
sort file.txt # tri alphabétiquesort -n numbers.txt # tri numériquesort -r file.txt # tri inversésort -u file.txt # trier et supprimer les doublonssort -k2 data.txt # trier par la 2ème colonnetr
Remplacer ou transformer des caractères dans un flux de texte. Modifier le texte en substituant des caractères.
echo "hello" | tr 'l' 'x' # remplacer 'l' par 'x'echo "HELLO" | tr 'A-Z' 'a-z' # convertir en minusculesecho "hello world" | tr ' ' '_' # remplacer les espaces par des traits de soulignementecho "abc123" | tr -d '0-9' # supprimer tous les chiffreswc
Compter les lignes, mots et caractères dans les fichiers. Obtenir des statistiques sur le contenu textuel.
wc file.txt # afficher lignes, mots, caractèreswc -l file.txt # compter seulement les ligneswc -w file.txt # compter seulement les motswc -c file.txt # compter seulement les caractèresecho "hello world" | wc -w # compter les mots dans une chaîneawk
Effectuer la manipulation de texte et l’extraction de données. Pratique quand le texte ressemble à un tableau.
awk '{print $1}' file.txt # afficher la première colonneawk '{print $NF}' file.txt # afficher la dernière colonneawk '{sum += $3} END {print sum}' file.txt # additionner toutes les valeurs de la colonne 3
# Calculer la moyenne des nombres de la deuxième colonneawk '{sum += $2; count++} END {print sum/count}' numbers.txt
# Afficher les lignes de plus de 80 caractèresawk 'length > 80' file.txtsed
Similaire à awk, plus adapté aux remplacements complexes basés sur les regex.
sed 's/old/new/g' file.txt # remplacer toutes les occurrences d'"old" par "new"sed '/pattern/d' file.txt # supprimer les lignes correspondant au motifsed 's/^#.*$//' file.txt # supprimer les commentaires des scripts shellsed '1,3d' file.txt # supprimer les lignes 1 à 3sed 's/ /\n/g' file.txt # remplacer les espaces par des nouvelles lignesCommandes système
whoami
Afficher le nom de l’utilisateur actuel. Identifier le compte utilisateur que vous utilisez actuellement.
whoami # affiche le nom d'utilisateur actuelsystemctl
Contrôler et gérer les services système. Démarrer, arrêter, activer ou vérifier le statut des services.
systemctl status nginx # vérifier le statut du service nginxsystemctl start nginx # démarrer le service nginxsystemctl stop nginx # arrêter le service nginxsystemctl restart nginx # redémarrer le service nginxsystemctl enable nginx # activer nginx pour démarrer au bootsystemctl disable nginx # désactiver nginx du démarrage au bootps aux
Afficher les processus en cours d’exécution avec des informations détaillées. Surveiller ce qui s’exécute sur votre système.
ps aux # afficher tous les processusps aux | grep firefox # trouver un processus spécifiqueps -ef # format alternatifps -u username # afficher les processus pour un utilisateur spécifiquekill
Arrêter un processus en cours d’exécution en envoyant des signaux de terminaison. Terminer des programmes qui ne répondent pas ou indésirables.
kill 1234 # terminer le processus avec l'ID 1234kill -9 1234 # forcer l'arrêt (SIGKILL)kill -15 1234 # terminaison gracieuse (SIGTERM)killall firefox # tuer tous les processus firefoxdf
Afficher l’utilisation de l’espace disque pour les systèmes de fichiers montés. Surveiller l’espace de stockage disponible.
df # afficher l'utilisation du disquedf -h # tailles lisibles par l'humain (GB, MB)df -h /home # vérifier un répertoire spécifiquedf -i # afficher l'utilisation des inodesprintenv
Afficher une ou toutes les variables d’environnement. Utile pour le débogage et la vérification de la configuration.
printenv HOMEprintenvhistory
Vérifier les commandes précédemment exécutées. Examiner et réutiliser votre historique de commandes.
history # afficher tout l'historique des commandeshistory | tail -10 # afficher les 10 dernières commandeshistory | grep "git" # rechercher les commandes git dans l'historique!123 # ré-exécuter la commande numéro 123!! # ré-exécuter la dernière commandeRedirections
>
Envoyer la sortie d’une commande vers un fichier, en remplaçant le contenu existant. Rediriger la sortie pour créer ou écraser des fichiers.
echo "Hello" > file.txt # créer un fichier avec du contenuls > filelist.txt # sauvegarder le listage du répertoire dans un fichiercat file1.txt > copy.txt # copier le contenu d'un fichier vers un nouveau fichierdate > timestamp.txt # sauvegarder la date actuelle dans un fichier>>
Envoyer la sortie d’une commande vers un fichier, en ajoutant au contenu existant. Ajouter la sortie à la fin des fichiers existants.
echo "New line" >> file.txt # ajouter une ligne au fichier existantls >> filelist.txt # ajouter le listage du répertoirecat file2.txt >> combined.txt # ajouter le contenu du fichierdate >> log.txt # ajouter l'horodatage au journal|
Envoyer la sortie d’une commande comme entrée de la commande suivante. Enchaîner les commandes pour des opérations complexes.
cat logs.txt | wc -l # compter les lignes dans le fichierls -la | grep "txt" # lister seulement les fichiers .txtps aux | grep firefox # trouver les processus firefoxcat data.csv | cut -d',' -f2 | sort # extraire une colonne, puis trierxargs
Passer la sortie comme arguments à une autre commande. Convertir l’entrée en arguments de commande.
find . -name "*.txt" | xargs rm # trouver et supprimer tous les fichiers .txtecho "file1 file2 file3" | xargs touch # créer plusieurs fichiersls *.txt | xargs -I {} cp {} backup/ # copier chaque fichier vers le dossier de sauvegardecat filelist.txt | xargs grep "error" # rechercher "error" dans les fichiers listésGlobbing
*
Correspondre à zéro ou plusieurs caractères. Sélectionner plusieurs fichiers avec la correspondance de motifs.
ls *.txt # lister tous les fichiers .txtrm temp* # supprimer les fichiers commençant par "temp"cp /path/*.jpg images/ # copier tous les fichiers jpgecho file*.log # étendre aux noms de fichiers correspondants?
Correspondre exactement à un caractère. Correspondance précise de motif à caractère unique.
ls file?.txt # correspondre à file1.txt, fileA.txt, etc.rm temp?.log # supprimer temp1.log, tempX.log, etc.cp image?.png backup/ # copier image1.png, imageA.png, etc.[1-2]
Correspondre à n’importe quel caractère dans la plage ou l’ensemble spécifié. Définir des alternatives de caractères spécifiques.
ls file[1-5].txt # correspondre à file1.txt jusqu'à file5.txtrm log[ABC].txt # supprimer logA.txt, logB.txt, logC.txtcp data[0-9][0-9].csv archive/ # correspondre à data01.csv, data99.csv, etc.ls [a-z]*.txt # fichiers commençant par une lettre minusculeRéseau
ping
La commande ping est utilisée pour tester l’accessibilité d’un hôte sur un réseau IP.
ping 8.8.8.8 # Ping du serveur DNS public de Googleping example.com # Ping d'un nom de domaineip
La commande ip est utilisée pour afficher et manipuler le routage, les appareils, le routage de politique, et les tunnels.
ip a # Affiche toutes les interfaces réseau avec leurs adresses IPip route show # Afficher la table de routagetraceroute
La commande traceroute est utilisée pour tracer le chemin que prennent les paquets de votre ordinateur vers un hôte de destination.
traceroute example.com # Tracer la route vers example.comdhclient
La commande dhclient est un client DHCP qui est utilisé pour obtenir une adresse IP et d’autres paramètres de configuration réseau d’un serveur DHCP.
sudo dhclient -v # Demander une adresse IP avec sortie détailléenmap
La commande nmap est un outil de scan réseau utilisé pour découvrir des hôtes et services sur un réseau informatique.
nmap google.com # Scanner google.com pour les ports ouvertscurl
Effectuer des requêtes HTTP vers des serveurs web. Télécharger du contenu, tester des API, ou vérifier le statut de sites web.
curl www.google.com # obtenir le contenu d'une page webcurl -I www.google.com # obtenir seulement les en-têtescurl -o page.html www.example.com # sauvegarder la réponse dans un fichiercurl -X POST -d "data=value" api.com # envoyer une requête POST avec des donnéescurl -s https://api.github.com/users/octocat # mode silencieux (pas de progression)dig
Effectuer des requêtes DNS pour obtenir des informations sur les domaines.
dig example.com # obtenir les enregistrements Adig example.com MX # obtenir les enregistrements MXdig example.com ANY # obtenir tous les enregistrementsUtilitaires
apt
Pour installer des paquets sur les systèmes basés sur Debian.
sudo apt update # mettre à jour la liste des paquetssudo apt install package_name # installer un paquetsudo apt remove package_name # supprimer un paquetcrontab
Programmer des tâches récurrentes avec cron.
crontab -e # éditer le crontabcrontab -l # lister les tâches cron actuellescrontab -r # supprimer toutes les tâches crondate
Afficher la date et l’heure actuelles.
date # mar. 02 sept. 2025 15:44:52 CESTdate -u # mar. 02 sept. 2025 13:44:52 UTCdate +"%Y-%m-%d" # 2025-09-02free
Afficher des informations sur l’utilisation de la mémoire système.
free # afficher l'utilisation de la mémoirefree -h # afficher l'utilisation de la mémoire dans un format lisible par l'humaindu
Vérifier la taille d’un dossier
du -sh /folderManipulation de chemins
basename
Obtenir le nom de fichier à partir d’un chemin complet.
basename /path/to/file.txt # Sortie: file.txtbasename /path/to/file.txt .txt # Sortie: filerealpath
Obtenir le chemin absolu d’un fichier ou répertoire.
realpath file.txt # Sortie: /full/path/to/file.txtrealpath ../relative/path # Sortie: /full/path/to/relative/path