Pour saisir des instructions Linux et les faire exécuter par le système, il faut préalablement ouvrir une ligne de commande (CLI). Il s’agit en effet d’un terminal qui permet aux utilisateurs d’écrire les commandes pour dicter à la machine les actions à réaliser.
Dans la barre de recherche des applications, vous pouvez facilement trouver un interpréteur de commande avec le mot clé « terminal ». Différents raccourcis permettent également de directement ouvrir une ligne de commande. Essayez « Ctrl + Alt + t » sur Ubuntu par exemple. Ce programme est aussi accessible dans la section Utilitaires sur toutes les distributions Linux.
Le premier message qui s’affiche au lancement de la console est appelé invite de commande. Avec une fonction claire, il donne des indications sur :
Le nom de l’utilisateur ;
Le nom de la machine ;
La nature du dossier courant (personnel ou étranger) ;
Le mode de connexion (simple utilisateur ou super utilisateur).
Une fois le terminal ouvert, vous pourrez utiliser l’une des nombreuses commandes Linux pour réaliser diverses actions. Pour la plupart, elles acceptent des paramètres (ou arguments) qui sont précédés d’un simple espace dans la syntaxe de la ligne de commande.
Ces paramètres sont majoritairement des chemins d’accès vers des dossiers ou fichiers. Les commandes Linux utilisent également des flags qui sont quant à eux précédés d’un (-) ou deux tirets (–). Ils spécifient certaines options sur ces instructions.
Dans la suite de ce document, vous retrouverez une liste des commandes linux de base que vous devez connaître, rangée par catégories. Vous pouvez utiliser la table des matières pour naviguer directement vers une commande où une catégorie.
Navigation
pwd
Note
pwd veut dire Print Working Directory, ce qui veut dire “Affiche le dossier de travail”.
Description
La commande pwd est utilisée pour afficher le dossier de travail en cours d’utilisation. Elle s’utilise comme ceci :
Tip
pwd
ls
Note
ls veut dire list.
Description
La commande ls est utilisée pour lister le contenu d’un dossier. ça donne des informations sur les dossiers et les fichiers, comme leur noms, leur permissions, qui le possède, etc…
Important
-l : format long
-a : inclus les fichiers cachés
-h : tailles lisibles par l’humain
-r : ordre inverse
-R : récursif
Vous pouvez spécifier plusieurs options dans une seule commande en utilisant toutes les lettres correspondant aux options voulues.
Tip
ls -lah
la sortie de cette commande peut se faire en couleur avec l’instruction “ls –color=auto”.
cd
Note
cd veut dire Change Directory, ce qui signifie “Change de dossier”.
Description
La commande cd est utilisée pour naviguer dans une arborescence de dossiers.
Important
cd ~ or cd : Navigue vers le dossier d’accueil de l’utilisateur courant
cd ~nom_utilisateur : Navigue vers le dossier d’accueil de l’utilisateur spécifié
cd / : Navigue vers le dossier racine
cd .. : Navigue vers le dossier parent du dossier actuel
cd - : Navigue vers le dossier précédent
cd nom_dossier : Navigue vers le dossier enfant spécifié
cd chemin/vers/dossier : Le chemin spécifié est ajouté au dossier en cours, naviguant plus profondément dans l’arborescence
cd /chemin/complet/vers/dossier : Remplace le chemin en cours par le chemin absolu spécifié
Symboles spéciaux :
. : Référence le dossier actuel
..: Référence le dossier parent
~ : Représente le dossier d’accueil
- : Référence le dossier précédent
Tip
Utilises "Nom Dossier" ou Nom\ Dossier pour naviguer vers un dossier contenant un espace
Utilises la touche Tab pour auto-compléter les noms de dossiers
./
Description
La notation ./ n’est pas vraiment une commande, mais elle permet d’exécuter un fichier.
La commande man est utilisée pour afficher la documentation de n’importe quelle commande.
Tip
man ls
Tip
La plupart des commandes supportent aussi l’option --help pour un résumé rapide des options
ls --helppwd --help
grep
Note
grep veut dire Global Regular Expression Print, mais tu peux t’en souvenir en pensant à “Grab” le texte correspondant.
Description
La commande grep est un outil puissant utilisé pour effectuer des recherches de motifs dans des fichiers.
Important
-i : Ignore la casse
-v : Recherche les lignes sans le motif
-n : Ajoute le numéro de ligne avant chaque motif correspondant
-c : Compte les lignes
-r : Recherche récursive
-l : Affiche seulement le nom du fichier possédant le pattern
Tip
grep "ERROR" app.loggrep -ri "password" .
locate
Note
locate veut dire localiser.
Description
La commande locate est utilisée pour rechercher des fichiers et des dossiers.
Important
-i : Ignore la casse
Tip
locate example.txt
Gestion des dossiers et fichiers
mkdir
Note
mkdir veut dire Make Directory, ce qui signifie “Crée un dossier”.
Description
La commande mkdir est utilisée pour créer des nouveaux dossiers. Vous pouvez créer un ou plusieurs dossiers à la fois.
Important
-p Crée des dossiers parents
Tip
mkdir logsmkdir -p projects/linux/basics
touch
Description
La commande touch est un outil versatile utilisé pour créer de nouveaux fichiers ou mettre à jour l’horodatage de fichiers existants.
Important
-a: Mettre à jour la date d’accès au fichier
-m: Mettre à jour la date de modification du fichier
-d or -t: Définit les dates et heures d’accès et de modification à la date et à l’heure spécifiées
-c or -f: Crée le fichier s’il n’existe pas, sans afficher de message d’erreur
Tip
touch -m file.txt
cp
Note
cp veut dire Copie.
Description
La commande cp est utilisée pour copier des fichiers et des dossiers d’un endroit à un autre.
Important
-r copie récursive
-v verbeux
Tip
cp file.txt backup.txtcp -rv src/ backup_src/
mv
Note
mv veut dire move, ce qui signifie déplacer.
Description
La commande mv est utilisée pour déplacer ou renommer des fichiers ou des dossiers.
Important
-i: Mode intéractif
-f: Mode forcé
-v: Mode verbeux
Tip
mv old.txt new.txtmv file.txt /tmp/
rm
Note
rm veut dire remove, ce qui signifie supprimer.
Caution
Toute suppression est permanante.
Description
La commande rm est un outil puissant, mais il doit être utilisé avec précaution car elle supprime les dossiers et les fichiers de manière permanante.
Important
-f: Force la suppression sans demande de confirmation.
-r: Supprime les dossiers et leur contenu de manière récursive
-i: Demande la confirmation avant de supprimer chaque dossier et fichier.
Tip
rm file1.txt file2.txtrm -rf build/
cat
Note
cat veut dire concatener.
Description
La commande cat est utilisée pour visualiser le contenu d’un fichier sans ouvrir d’éditeur de texte.
Important
-n: Affiche les numéros de lignes
-E: Affiche le caractère $ à la fin de chaque ligne
-s: Regroupe plusieurs lignes vides adjacentes en une seule
Tip
cat file1.txt file2.txt
Permissions et Possessions
Contexte
Dans Linux, chaque dossier et fichier possède trois principales catégorie de permission :
Propriétaire: L’utilisateur qui à crée le dossier ou le fichier.
Groupe: Le groupe auquel le propriétaire appartient.
Autres: Tous les autres utilisateurs du système.
Chacune de ces catégories possède trois types de permissions :
Lire (r): Autorise l’utilisateur à voir le contenu du fichier ou à lister les fichiers dans son dossier parent.
Écrire (w): Autorise l’utilisateur à modifier le contenu du fichier ou à créer / supprimer les fichiers dans un dossier.
Executer (x): Autorise l’utilisateur à exécuter le fichier comme un programme ou accéder au contenu d’un dossier.
Vous pouvez voir les permissions d’un dossier ou d’un fichier en utilisant la commande ls -l. La sortie vous montrera les permissions au format suivant :
Les 10 premiers caractères représentent les permissions du dossier ou du fichier :
Le 1er caractère indique son type (- pour un fichier, d pour un dossier).
Les 3 caractères suivants représentent les permissions du propriétaire.
Les 3 caractères d’après représentent les permissions du groupe.
Les 3 derniers caractères représentent les permissions des autres.
sudo
Note
sudo stands for super user do
Description
La commande sudo est essentielle pour administrer des tâches, car cela permet à l’utilisateur de faire des actions demandant des privilèges importants, comme installer un logiciel, modifier une configuration système, ou accéder à des ressources protégées.
Tip
sudo apt updatesudo rm /protected/file
chmod
Note
change mode
Description
La commande chmod permet de modifier les permissions de lecture, d’écriture et d’éxecution pour le propriétaire, le groupe, et les autres.
Important
Mode symbolique :
u représente le propriétaire
g représente le groupe
o represente les autres
a représente tout (propriétaire, groupe et autres)
+ ajoute les permissions spécifiées
- supprime les permissions spécifiées
= applique les permissions spécifiées
Mode numérique :
Chaque permission (lire, écrire et exécuter) est représentée par un chiffre : 4 pour lire, 2 pour écrire et 1 pour exécuter. Il faut ajouter ces chiffres pour obtenir les permissions souhaitées.
Les permissions du propriétaire, du groupe et des autres sont représentées par un nombre à 3 chiffres, correspondant chacun à l’addition des permissions évoquées précédemment.
La commande chown est utilisée pour changer le propriétaire et le groupe d’un fichier.
Tip
sudo chown user file.txtsudo chown user:group file.txt
Editeurs de texte
nano
Description:
La commande nano ouvrira l’éditeur de texte nano, qui est un éditeur de texte sur terminal adapté aux débutants. Il est possible qu’elle ne soit pas installée par défaut, il faudra alors l’installer par vous même (notamment via la commande apt)
Important
Ctrl + O sauvegarder
Ctrl + X quitter
Tip
nano file.txt
vi
Description
La commande vi ouvrira l’éditeur de texte vi, qui est un éditeur de texte disponible sur presque tous les systèmes Unix.
Important
Esc : Mode de commande
:wq : sauvegarder et quitter
:q! : quitter sans sauvegarder
arrows : déplace le curseur OU h pour le déplacer vers la gauche, j pour le déplacer vers le bas, k pour le déplacer vers le haut, et l to le déplacer vers la droite.
w : déplacer le curseur au début du prochain mot.
b : déplacer le curseur au début du mot précédent.
0 : déplacer le curseur au début de la ligne.
$ : déplacer le curseur à la fin de la ligne.
i : Mode d’insertion
x : supprimer le caractère sous le curseur.
dd : supprime la ligne entière.
yy : copie la ligne.
p : colle le texte copié.
Tip
vi exemple.txt
Gestion de process et de systèmes
top / htop
Note
top shows what’s on top of the system
Description
La commande top affiche de nombreuses informations du système, incluant :
Up: Le temps depuis que le système à été démarré.
Tasks: Le nombre total de processus, en cours (running), dormants (sleeping), arrêtés (stopped), et zombies (zombie - processus terminé, mais pas entièrement retiré de la mémoire.)
%Cpu(s): Le pourcentage de temps de CPU passé dans le mode utilisateur (us), mode système (sy), mode sympa (ni), mode inactif (id), mode d’attente (wa), en interruption matérielle (hi), en interruption logicielle (si), et en mode volé (st - utile pour les machines virtuelles)
Mib Mem: La mémoire totale (total), libre (free), utilisée (used) et en cache (buff/cache).
Mib Swap: L’utilisation totale, libre (free) et utilisée (used) du swap.
Process list: Une liste des processus les plus gourmands, trié par utilisation mémoire ou CPU.
-1: Bascule entre l’utilisation par CPU et l’utilisation globale du CPU.
-f: Gère les colonnes affichées.
-o: Personnalise l’ordre de tri.
-u: Filtre les processus par utilisateur spécifique.
Quand top affiche une liste statique qui est actualisée périodiquement, htop offre une expérience interactive moderne. Vous pouvez naviguer à l’aide des touches fléchées ou de la souris, filtrer en temps réel, trier par n’importe quelle colonne et agir directement sur les processus sans quitter l’interface.
pourquoi htop est-il meilleur ?
Navigation visuelle:
Au lieu de taper des commandes, vous naviguez à l’aide des touches fléchées et effectuez des actions à l’aide des touches de fonction. Couleurs significatives : chaque couleur a une signification (vert = processus utilisateur, rouge = noyau, bleu = faible priorité).
Filtrage instantané:
Tapez F4 puis un nom, et seuls les processus correspondants s’affichent.
Actions groupées :
Sélectionnez plusieurs processus avec la barre d’espace, puis supprimez les tous en même temps avec F9.
Remarque:
Alors que top est installé par défaut sur toutes les machines, ce n’est pas le cas de htop. Vous devrez utiliser deux commandes pour l’installer :
Important
sudo apt updatesudo apt install htop
Tip
tophtop
kill
Note
kill is used to kill a process
Description
La commande kill sert à terminer ou à envoyer des signaux aux processus en cours d’exécution. Pour arrêter un processus, vous devez saisir soit son nom, soit son nom binaire.
Important
-9 forcer le kill
Tip
kill 5339436kill -9 firefox
Accès à distance et tests réseau
ssh
Note
ssh stands for secure shell
Description
La commande ssh est utilisée pour se connecter en toute sécurité à des serveurs Linux distants et transférer des fichiers entre des hôtes locaux et distants.
Important
Pour quitter la session SSH, tapez Ctrl+C puis Entrer.
Tip
ssh user@ip_adressssh user@domain_name
ping
Description
La commande ping est un outil de diagnostic réseau utilisé pour tester la connectivité entre un hôte local et un hôte distant. Elle envoie des paquets de requête d’écho ICMP (Internet Control Message Protocol) à l’hôte cible et attend la réponse d’écho ICMP.
Tip
ping google.com
Les bonnes astuces à utiliser sur un terminal Linux
Lorsque vous exécutez des commandes Linux, il est assez courant de se retrouver avec une console visuellement chargée. Vous pouvez utiliser la commande « clear » pour vider les messages à l’écran du terminal.
Linux propose aussi des suggestions ou auto complétions pertinentes avec la touche tabulation « Tab » du clavier. Par ailleurs, comme raccourcis clavier, vous pouvez utiliser :
Tip
Ctrl + A : Aller au début de la ligne ;
Ctrl + E : Aller à la fin de la ligne ;
Ctrl + Z : Mettre une commande en cours d’exécution en pause ;
Ctrl + C : Arrêter une commande en cours d’exécution ;
Ctrl + E : Aller à la fin de la ligne ;
Ctrl + S : Bloquer le terminal ;
Ctrl + Q : Débloquer le terminal.
Par ailleurs, plutôt que d’exécuter des commandes Linux les unes après les autres, vous pouvez les exécuter en une seule ligne en les séparant par des « ; ». Utilisez plutôt « && » si vous souhaitez que la commande suivante s’exécute à condition que la précédente ait abouti.
Conclusion
Si l’apprentissage des principales commandes Linux peut prendre un certain temps, le processus est relativement simple et assez agréable.
En effet, vous parviendrez vite à maîtriser les commandes et les principaux outils Linux. Toutefois, vous ne cesserez jamais d’apprendre et de découvrir de nouvelles choses avec ce puissant système d’exploitation.
En attendant, connaître et maîtriser les principales commandes Linux devrait grandement améliorer votre productivité et être d’une grande utilité.
Ressources
Voici un lien vers une cheat sheet des commandes Linux (certaines pages ne sont pas traduites en français):