Quelles sont les bases du terminal sous Linux ?
Le terminal est un outil qui peut faire peur au début. Mais pas de panique ! Dans tous les cas, c’est un outil tellement polyvalent qu’il serait inhumain de le maîtriser entièrement ! Alors comme nous serons toujours novices, faisons sans crainte nos premiers pas dans son utilisation.
Vous trouverez en fin de page un tableau récapitulatif des commandes les plus utiles.
À l’origine, le terminal s’appelle ainsi car c’était le point terminal de l’ordinateur, celui par lequel l’humain y accède. Nous parlons là d’une époque révolue où la notion d’interface graphique était inexistante. Il fallait écrire les commandes que nous souhaitions faire effectuer à l’ordinateur plutôt que de cliquer sur des icônes et des boutons à l’écran.
On parle de ici de deux concepts opposé : GUI et de CLI.
GUI, acronyme anglais de Graphical User Interface, ou Interface Graphique est un mode d’interaction simplifié avec l’ordinateur. Le but est de gagner en aisance et en rapidité principalement par le biais de boutons sur lesquels on clique avec la souris, et qui effectueront des actions préprogrammées.
CLI, acronyme anglais de Command Line Interface, ou Interface en Ligne de Commande est un mode d’interaction avec l’ordinateur. Il se caractérise par le fait de taper des suites de mots correspondant à des actions préprogrammés avant de demander à l’ordinateur de les exécuter.
Voici une opération que vous aurez, je pense, déjà réalisée : j’ai ouvert mon navigateur de fichiers, double cliqué sur un dossier et paf, son contenu s’est affiché :
Voici maintenant comment réaliser la même opération via le terminal :
Ok, pas si vite ! Que s’est-il passé ? Revenons au point de départ, au moment où j’avais uniquement ouvert mon terminal :
Pour des questions de clarté, j’ai retiré la bordure de la fenêtre pour ne garder que l’essentiel. Trois informations sont pour l’instant affichées.
La première, avant le @, est le nom de l’utilisateur connecté au terminal. Ici, c’est ‘simon‘. C’est moi !
Nous avons ensuite, après le @, le nom de l’ordinateur auquel le terminal est connecté. Mon ordinateur se nomme donc ‘moustache‘.
Enfin, après le ~ se trouve l’emplacement actuel où nous nous situons dans l’arborescence de fichier. $ signifie que nous sommes dans le dossier racine de l’utilisateur, autrement dit son point de départ.
La première commande que j’ai entrée dans le terminal était ‘cd nom_de_mon_dossier/‘. cd est le raccourci de change directory, qui signifie changer de dossier.
Celle-ci permet de rentrer dans un dossier. Ici, vous pouvez voir que nous ne sommes plus dans ‘$‘, mais dans le dossier ‘/FabuleuxDossier‘.
Pour revenir en arrière, il faut utiliser la commande ‘cd ..‘. .. fait référence au dossier parent du dossier actuel :
La seconde commande que j’avais utilisé était ls, qui permet de lister les dossiers et fichiers présents dans le dossier actuel :
Cette suite de commande est donc équivalente à afficher des fichiers dans le navigateur de fichiers. Il faut cependant reconnaître que celui-ci est tout de même plus adapté car plus rapide et plus joli, de surcroît, on peut double-cliquer sur les icônes pour
ouvrir les fichiers ! Mais continuons un peu notre exploration du terminal avec l’énigme suivante :
Que s'est-il passé ?
En ajoutant du texte après la commande ls, j’obtiens un résultat différent ! La commande -a est une option qui s’utilise après ls, pour en modifier le comportement. Ici, ls -a affiche tous les fichiers, y compris les fichiers cachés. Trois nouveaux fichiers sont présents :
.. , comme indiqué précédemment, fait référence au dossier parent.
. , lui est une référence au dossier lui-même. Assez étrangement, chaque dossier contient une référence à lui-même.
.FabuleuxFichierCaché.txt est un fichier caché à des fins didactiques. Sous Linux, un fichier commençant par « . » est considéré comme un fichier caché. Pour activer ou désactiver l’affichage de fichiers cachés dans le navigateur de fichiers, utilisez la commande ctrl + H .
Quelles options sont disponibles pour une commande donnée ? Une commande fort utile permet, entre autres, de répondre à cette question : man . man nom_d’une_commande affiche le manuel d’utilisation de cette commande, présentant entre autres sa fonction
et ses options. En guise d’exemple, man ls :
Les options des commandes peuvent s’additionner. Par exemple, ls -a liste tous les fichiers à l’intérieur d’un dossier, tandis que ls -l liste les fichiers visibles dans un dossier sous format long. Ainsi, ls -la liste donc tous les fichiers d’un dossier sous format long :
Dernier outil fort utile du terminal : l’auto-complétion. Le terminal est doté d’un dispositif lui permettant de prédire les commandes valides que l’on essaye de taper. Dans l’exemple suivant, j’ai modifié le contenu du dossier pour qu’il contienne trois sous-
dossiers : Articles, Audio et Photos :
Vous pourriez croire que j’ai ensuite tapé cd Photos/ . En fait, je n’ai tapé qu’une partie de la commande : cd P . J’ai ensuite utilisé l’auto-complétion en appuyant sur la touche Tabulation. Le reste de la commande s’est affiché automatiquement ! Pourquoi ?
La commande cd permet d’accéder à un dossier. Or, avec le P que j’ai ensuite indiqué, il n’y avait qu’un résultat possible : Photos/ . Le terminal a donc compris que c’était la commande que je souhaitais et l’a complétée automatiquement.
Dans certains cas, plusieurs commandes différentes sont valides. Dans ces cas-là, appuyer une fois sur Tabulation n’a pas d’effet immédiat. Cependant, appuyer une deuxième fois sur Tabulation liste les commandes valides disponibles :
Il s’agit d’un excellent outil qui permet à la fois de gagner du temps et d’explorer rapidement le terminal. Par exemple pour lister toutes les commandes disponibles commençant par fi :
Trêve de bavardages ! Voici la meilleure commande de tout Linux, en deux lignes :
sudo apt-get update
sudo apt-get install nom_du_logiciel
La première ligne met à jour la base de données de logiciels de Linux. Le mot sudo, présent également à la ligne suivante, indique que l’action nécessite les privilèges de l’administrateur. Il vous sera demandé de taper votre mot de passe.
La seconde permet de récupérer un des logiciels présent sous forme de paquet dans votre distribution. Par exemple, installer GIMP se fait comme cela :
sudo apt-get install gimp
La configuration du logiciel est ensuite automatique. Une fois celle-ci terminée, vous pouvez utiliser le logiciel comme bon vous semble. N’hésitez pas à explorer la liste de logiciels disponibles, par exemple en utilisant l’auto-complétion :
Petite note sur les paquets : un paquet n’est pas nécessairement une application. En fait, c’est rarement le cas. Vous pouvez voir ci-dessus qu’en dessous du paquet gimp se trouvent de nombreux paquets commençant par gimp- . Ces paquets sont des librairies qui eux-mêmes constituent l’application. Le paquet gimp nécessite par exemple le paquet gimp-data pour fonctionner, celui-ci sera d'ailleurs installé lors de l’installation de gimp, mais ne sera pas utilisable directement. D’autres paquets, par exemple gimp-data-extras ou gimp-plugin-registry sont des paquets optionnels rajoutant des fonctionnalités au logiciel.
Commandes utiles
Commande | Effet |
cd dossier/ | rentrer dans le dossier |
cd .. | revenir en arrière dans l’arborescence |
cd ../.. | revenir deux fois en arrière dans l’arborescence |
cd | revenir à la racine de l’arborescence ( $ ) |
ls | lister les fichiers et dossiers de l’emplacement actuel |
ls -a | lister tous les fichiers et dossiers de l’emplacement actuel |
man nom_de_commande | afficher le manuel de la commande indiquée |
sudo apt-get update | mettre à jour la liste des paquets |
sudo apt-get install nom_de_paquet | installer le paquet indiqué |
sudo apt-get upgrade | mettre à jour les applications |
sudo apt-get remove nom_de_paquet | désinstaller le paquet indiqué |
sudo apt-get autoremove | supprimer les paquets inutiles |
sudo dpkg -i fichier_de_paquet | installer un paquet depuis un fichier |
mkdir nom_de_dossier | créer un nouveau dossier à l’emplacement actuel |
rm nom_de_fichier | supprimer le fichier indiqué |
rm -R nom_de_dossier | supprimer le dossier indiqué et l’ensemble de son contenu |
mv nom_de_fichier nouveau_nom_de_fichier | modifier le nom du fichier indiqué selon le nouveau nom indiqué |
cp nom_de_fichier nouveau_nom_de_fichier | copier le fichier sous l’appellation indiquée |
file nom_de_fichier | trouver le type du fichier indiqué |
locate nom_de_fichier | trouver toutes les occurrences du fichier indiqué à partir de l’emplacement actuel |
locate *.extension | trouver toutes les occurrences d’un type de fichier à partir de l’emplacement actuel |
cat nom_de_fichier_texte | afficher le contenu du fichier dans le terminal |
more nom_de_fichier_texte | afficher le contenu du fichier dans le terminal sur des pages séparées |
less nom_de_fichier_texte | afficher le contenu du fichier dans le terminal sur une page |
nano nom_de_fichier_texte | ouvrir le fichier indiqué dans l’éditeur de texte nano. Le fichier est créé s’il n’existe pas |
sudo chmod +x 755 nom_de_fichier | changer les permissions d’un fichier. Modifier la balise numérique en fonction des besoins |
clear | effacer le contenu du terminal |
killall nom_de_processus | forcer l’arrêt de tous les processus liés au nom indiqué |
xkill | permet de cliquer sur la fenêtre d’un processus pour en forcer l’arrêt |
tar -xzf nom_d'archive | décompresser une archive à l’emplacement actuel |
sudo fdisk -l | lister les périphériques de stockage et leur spécificités |
sudo dd if=image_disque.iso of=/dev/sdx && sync | copier l’image disque indiquée sur le périphérique indiqué |
sudo systemctl start nom_de_service | démarrer le service indiqué |
sudo systemctl stop nom_de_service | arrêter le service indiqué |
sudo systemctl restart nom_de_service | redémarrer le service indiqué |
sudo arp-scan --local | lister les appareils connectés au réseau |
ssh utilisateur@adresse_ip | se connecter à un ordinateur distant en SSH |
sudo scp utilisateur@adresse_ip:/chemin/du/fichier nom_de_la_copie | copier localement un fichier distant en SSH |
cd && cd ../.. && sudo rm -R * | Effacer la totalité du contenu de l’ordinateur. À éviter. |