Aller au contenu
Administration Linux medium

Introduction aux commandes Linux

14 min de lecture

La maîtrise des commandes linux est essentielle pour quiconque souhaite exploiter ou administrer efficacement des serveurs Linux. Que vous soyez étudiant, développeur, administrateur système, ou simplement passionné de technologie, comprendre comment utiliser ces commandes enrichira vos compétences Linux.

A une époque pas si lointaine Linux se distinguait de Windows par la présence d’une interface en ligne de commande (CLI) pouvant effectuer des opérations complexes, automatiser des tâches sans faire appel à une interface graphique. Apprendre à utiliser la ligne de commandes Linux est donc crucial pour maximiser l’efficacité et la productivité dans un environnement Linux.

Pour chacune des commandes Linux de base, je fournirai des conseils pratiques, des astuces et des exemples concrets pour vous aider à appliquer ces nouvelles connaissances.

Les scripts shells sont des programmes écrits dans le langage propre au shell qui sont essentiellement utilisés pour automatiser des tâches répétitives. Les scripts shell sont écrits dans des fichiers textes et peuvent être exécutés. Mais savez-vous ce qu’est un shell Linux ? Non alors lisez ce guide.

Pour rappel, une commande Linux est un programme qui s’exécute en ligne de commande. Une ligne de commande est une interface qui traite des lignes de texte en instructions pour votre ordinateur.

Les commandes linux peuvent posséder une ou plusieurs options. Les options peuvent débuter par un ou deux tirets. Par exemple l’option -h ou --help dans la plupart des commandes, affiche son aide en ligne.

Fenêtre de terminal
ls --help
Utilisation : ls [OPTION]... [FICHIER]...
Afficher des renseignements sur les FICHIERs (du répertoire actuel par défaut).
Trier les entrées alphabétiquement si aucune des options -cftuvSUX ou --sort
ne sont utilisées.
Les arguments obligatoires pour les options longues le sont aussi pour les
options courtes.
-a, --all ne pas ignorer les entrées débutant par .
-A, --almost-all ne pas inclure . ou .. dans la liste
--author avec -l, afficher l'auteur de chaque fichier
-b, --escape afficher les caractères non graphiques avec des

Un argument, appelé aussi paramètre, est l’entrée que nous donnons à une commande pour qu’elle puisse s’exécuter. De plus souvent, il s’agit d’un répertoire, un fichier.

Nous l’avons vu plus haut, le premier moyen pour obtenir de l’aide sur une commande linux est d’utiliser l’option -h ou --help :

Fenêtre de terminal
ls --help
Utilisation : ls [OPTION]... [FICHIER]...
Afficher des renseignements sur les FICHIERs (du répertoire actuel par défaut).
Trier les entrées alphabétiquement si aucune des options -cftuvSUX ou --sort
ne sont utilisées.
Les arguments obligatoires pour les options longues le sont aussi pour les
options courtes.
-a, --all ne pas ignorer les entrées débutant par .
-A, --almost-all ne pas inclure . ou .. dans la liste
--author avec -l, afficher l'auteur de chaque fichier
-b, --escape afficher les caractères non graphiques avec des
protections selon le style C
--block-size=TAILLE avec -l, dimensionner les tailles selon TAILLE avant
de les afficher. Par exemple, « --block-size=M ».
Consultez le format de TAILLE ci-dessous...

Le second moyen est d’utiliser la commande man suivi du nom de la commande :

Fenêtre de terminal
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters
--block-size=SIZE
with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below ...

Pour avancer dans les pages, il suffit d’appuyer sur la touche espace.

Il existe un outil du nom de tldr qui affiche des versions raccourcies des pages man.

Le projet tldr-pages est une collection de pages d’aide simplifiées pour la plupart des outils de ligne de commande.

L’outil tldr peut être installé avec pip. Par exemple pour l’installer sur une distribution de la famille debian :

Fenêtre de terminal
sudo apt install python3-pip
pipx install tldr --user
installed package tldr 3.2.0, installed using Python 3.10.12
These apps are now globally available
- tldr
done! 🌟

Un exemple avec la commande ls :

Fenêtre de terminal
tldr ls
ls
Liste le contenu d'un répertoire.
Plus d'informations : https://www.gnu.org/software/coreutils/ls.
- Liste les fichiers, un par ligne :
ls -1
- Liste tous les fichiers, ainsi que les fichiers cachés :
ls -a
- Liste tous les fichiers, avec les noms de répertoires suivis d'un `/` :
ls -F
...

Si vous retrouvez des commandes dans des forums, des sites comme Stack OVerflow, et que vous ne comprenez pas la commande qui est indiquée alors le site explainshell est fait pour vous :

Exemple d'explication de commandes
linux

Un pipe (tube ou tuyau en anglais) est un outil qui permet de connecter la sortie standard d’une commande avec l’entrée standard d’une autre commande. Cela permet de chaîner plusieurs commandes, le résultat de l’une formant les données d’entrée de la suivante.

Pour créer un pipe entre 2 commandes, il suffit d’écrire les deux commandes séparées pour un caractère | (que l’on appelle le pipe).

Exemple :

Fenêtre de terminal
ls -R $HOME | less

L’enchainement de ces deux commandes liste le contenu de votre répertoire utilisateur et envoie la sortie vers la commande less pour en paginer le résultat. Vous verrez d’autres exemples dans les commandes qui vont suivre.

Au fur et à mesure de votre apprentissage des commandes Linux, vous remarquerez qu’elles se regroupent souvent par catégories ou par groupes de fonctionnalités similaires. Ces groupes de commandes sont essentiels pour naviguer efficacement dans un environnement Linux et automatiser diverses tâches. Dans cette section, Je vais vous donner un aperçu de ces groupes, en expliquant brièvement leurs fonctions.

Ce groupe de commandes est essentiel pour gérer l’état de votre système. Il comprend des commandes comme shutdown, reboot, et halt, qui vous permettent d’arrêter ou de redémarrer votre machine de manière sécurisée. Vous pourrez également utiliser systemctl pour gérer les services et les unités sous systemd. Vous en apprendrez plus dans le guide de gestion du système.

Ce groupe de commandes vous permettra de naviguer dans le système de fichiers, de manipuler des fichiers et des répertoires, et de travailler avec les permissions des fichiers. Il inclut des commandes comme ls, cd, cp, mv, rm, et bien d’autres, qui sont essentielles pour interagir avec le système de fichiers de manière efficace. Vous en apprendrez plus dans le guide de navigation et manipulation de fichiers.

Les commandes de manipulation de fichiers avancées vous permettent de effectuer des opérations plus complexes sur les fichiers et les répertoires. Cela inclut la recherche de fichiers avec find, la recherche de texte dans des fichiers avec grep, la modification de fichiers avec sed. Vous en apprendrez plus dans le guide de navigation et manipulation de fichiers.

Les commandes liées à la gestion des processus vous permettent de contrôler les applications en cours d’exécution sur votre système. Cela inclut l’observation des processus avec ps, l’arrêt ou la mise en arrière-plan des processus avec kill, bg, et fg, ainsi que l’utilisation de top et htop pour surveiller la consommation des ressources en temps réel. Un guide complet sur ce sujet est disponible dans La gestion des processus.

Les commandes réseau permettent d’inspecter et de configurer les paramètres réseau de votre machine. Vous apprendrez à tester la connectivité réseau avec ping, à explorer les connexions ouvertes avec netstat et ss, et à configurer des interfaces réseau avec ip et ifconfig. Pour aller plus loin, vous pouvez consulter le guide de gestion du réseau.

Le traitement des archives est une autre tâche fréquente sous Linux, et plusieurs commandes permettent de compresser et d’extraire des fichiers. Les commandes comme tar, zip, gzip et bzip2 vous permettront d’archiver et de compresser vos données efficacement. Pour un guide approfondi, consultez La gestion des archives.

La gestion de la mémoire sous Linux implique l’utilisation de commandes comme free, vmstat, et top pour observer et gérer l’utilisation de la RAM et du swap. Ce groupe de commandes est essentiel pour les administrateurs systèmes qui cherchent à optimiser les performances du serveur. Un guide complet est prévu dans La gestion de la mémoire (en cours d’écriture). Pour un guide approfondi, vous pouvez consulter La gestion de la mémoire.

Les commandes de gestion des périphériques vous permettent d’interagir avec le matériel de votre système. Cela inclut les commandes comme lspci, lsusb, lshw, et dmidecode, qui fournissent des informations détaillées sur le matériel installé sur votre machine. Ces commandes sont utiles pour le diagnostic matériel et la configuration. Pour un guide approfondi, vous pouvez consulter La gestion du matériel.

Certaines commandes plus avancées, comme awk, grep, sed, xargs, et rsync, offrent des fonctionnalités puissantes pour manipuler et analyser des données ou pour automatiser des tâches complexes. Ces outils vous permettront de réaliser des scripts shell sophistiqués et de manipuler les fichiers et flux de données de manière très précise. Chacune de ces commandes sera détaillée dans des guides dédiés comme La commande awk de A à Z ou La commande rsync de A à Z.

Vous avez découvert les commandes de base de Linux. Vous pouvez maintenant utiliser le terminal pour naviguer dans le système de fichiers, manipuler des fichiers et des répertoires, rechercher des fichiers et bien plus encore. Ces commandes sont essentielles pour travailler efficacement dans un environnement Linux et sont souvent utilisées par les administrateurs système, les développeurs et les utilisateurs avancés. En maîtrisant ces commandes, vous pourrez effectuer des tâches courantes de manière plus rapide et efficace. Vous pouvez également explorer d’autres commandes avancées et des outils disponibles dans Linux pour améliorer votre productivité et votre compréhension du système.