Le terminal peut sembler austère au premier abord, mais le shell transforme quelques commandes bien choisies en gestes précis pour explorer Linux, gérer ses fichiers et automatiser des tâches. Ce tutoriel pose les bases de la ligne de commande, explique le rôle de Bash et montre comment lire une commande sans avancer à l’aveugle.
L’article en bref
Le shell sert de passerelle entre vos demandes et le système Linux. Quelques repères suffisent pour naviguer, manipuler des fichiers et comprendre ce que chaque commande s’apprête à faire.
- Le rôle du shell : Il traduit vos commandes en actions concrètes pour le système.
- Les premiers repères : Explorez les dossiers avec cd, pwd et ls.
- Les outils essentiels : Créez, copiez, déplacez et examinez vos fichiers.
- La prudence utile : Comprenez les permissions et vérifiez avant toute suppression.
Un point de départ pratique pour prendre confiance dans le terminal Linux.
Shell Linux : à quoi sert cet interpréteur de commandes ?
Le shell est un programme qui fait le lien entre vous et le système d’exploitation. Dans un terminal, vous saisissez une commande ; l’interpréteur de commandes l’analyse puis demande à Linux d’effectuer l’action correspondante, qu’il s’agisse d’afficher un dossier ou de lancer un programme.
Cette façon d’interagir avec les ordinateurs remonte aux environnements Unix des années 1970. Elle reste utile aujourd’hui parce qu’elle est précise, reproductible et adaptée à l’administration de machines locales comme de serveurs distants. Pour un exemple rapide, imaginez Nora, développeuse, qui vérifie en quelques commandes si son projet contient bien tous ses fichiers de configuration.
- Gérer des fichiers : créer, déplacer, copier ou supprimer des éléments.
- Contrôler des processus : examiner les programmes en cours et en arrêter un si nécessaire.
- Automatiser des tâches : réunir plusieurs commandes dans des scripts shell.
- Administrer le système : vérifier des journaux, des permissions ou l’espace disque.
La ligne de commande ne remplace pas forcément l’interface graphique : elle offre une autre manière de travailler, souvent plus directe quand une opération doit être répétée ou documentée.
Bash, Zsh et les autres shells : quelles différences ?
Bash est l’un des shells les plus répandus sur Linux. Il permet de saisir des commandes, d’utiliser des raccourcis et d’écrire des scripts. D’autres environnements proposent leurs propres fonctions et parfois une syntaxe différente : les habitudes acquises avec Bash sont utiles, mais certains détails ne se transposent pas automatiquement.
| Shell | Repère utile | Environnement courant |
|---|---|---|
| sh | Shell historique, à la base de nombreuses syntaxes | Systèmes Unix et scripts portables |
| Bash | Commandes interactives et scripts largement documentés | Linux, macOS et environnements compatibles |
| Zsh | Personnalisation et complétion avancée | Postes de travail Unix et Linux |
| Fish | Suggestions et complétion pensées pour l’interactivité | Installation optionnelle sur Linux |
| PowerShell | Commandes orientées objets, avec une syntaxe propre | Windows, avec des versions disponibles sur d’autres systèmes |
Les commandes de base se ressemblent souvent, mais un nom identique ne garantit pas un comportement identique. Sous PowerShell, par exemple, ls est un alias de Get-ChildItem ; il ne s’agit donc pas de la même commande que celle exécutée par Bash.
Terminal Linux : accéder au shell et comprendre les dossiers
Sur Linux, l’application de terminal ouvre généralement une session dans le shell configuré pour votre compte. Sur macOS, l’application Terminal se trouve dans le dossier Utilitaires. Sous Windows, WSL permet d’utiliser une distribution Linux ; PowerShell et Git Bash proposent, eux, des environnements différents. Un terminal Linux en ligne peut aussi servir à découvrir les commandes sans modifier les fichiers de votre ordinateur.
Avant de manipuler des fichiers, retenez un repère simple : Linux organise les éléments dans une arborescence qui part de la racine, notée /. Un chemin comme /home/nora/Documents décrit l’emplacement du dossier Documents du compte Nora.
| Dossier | Contenu habituel |
|---|---|
| /home | Répertoires personnels des utilisateurs |
| /etc | Fichiers de configuration du système et de certains logiciels |
| /usr | Une grande partie des applications et des ressources installées |
| /var | Données qui évoluent, comme des journaux ou des caches |
| /tmp | Fichiers temporaires, dont la conservation dépend de la configuration |
| /dev | Représentations de périphériques utilisées par le système |
| /media et /mnt | Emplacements où des supports ou systèmes de fichiers peuvent être montés |
| /root | Répertoire personnel du compte administrateur root |
Sur de nombreuses distributions actuelles, certains répertoires historiques, comme /bin et /sbin, sont regroupés avec /usr. Leur présence reste utile à connaître, mais l’organisation exacte dépend de la distribution. Quant à /tmp, son contenu peut être effacé au redémarrage ou selon les règles locales : mieux vaut ne pas y stocker un document à conserver.
Commandes Linux de navigation : cd, pwd et ls
Trois commandes suffisent pour prendre vos marques. pwd affiche le chemin du répertoire courant, ls en liste le contenu et cd vous déplace dans un autre dossier.
Dans l’exemple de Nora, cd Documents ouvre le dossier Documents situé dans son emplacement actuel. cd .. remonte d’un niveau, tandis que cd ~ revient à son répertoire personnel. Le point seul, ., désigne le dossier courant.
| Commande | Résultat | Quand l’utiliser |
|---|---|---|
| pwd | Affiche le chemin courant | Vérifier où vous vous trouvez |
| ls | Liste les fichiers et dossiers | Explorer le contenu d’un emplacement |
| ls -la | Affiche aussi les éléments cachés et les détails | Examiner permissions, propriétaires et fichiers de configuration |
| cd Documents | Change de dossier | Entrer dans un répertoire accessible |
| cd .. | Remonte au dossier parent | Revenir d’un niveau dans l’arborescence |
Les options s’ajoutent au nom d’une commande : dans ls -lah, elles demandent une liste détaillée, incluant les fichiers cachés, avec des tailles plus faciles à lire. Le caractère * remplace une suite de caractères ; *.txt cible ainsi les noms terminant par .txt.
Commandes shell pour lire et manipuler des fichiers
Une fois le bon dossier ouvert, les commandes de lecture permettent de regarder un fichier sans lancer d’éditeur. cat fichier.txt affiche son contenu directement ; pour un document long, less fichier.txt le présente page par page.
Dans less, la barre d’espace avance d’une page, la touche b revient en arrière et q quitte l’affichage. head fichier.txt montre le début du fichier, tandis que tail fichier.txt affiche sa fin, pratique pour consulter les lignes récentes d’un journal.
Pour agir sur les fichiers, touch notes.txt crée un fichier vide s’il n’existe pas, mkdir brouillon crée un dossier et cp source.txt copie.txt réalise une copie. La commande mv ancien.txt nouveau.txt déplace ou renomme un élément selon le chemin indiqué.
- Créer : utilisez mkdir -p projet/docs pour créer aussi les dossiers parents manquants.
- Rechercher : find . -name « *.txt » cherche les fichiers texte à partir du dossier courant.
- Mesurer : du -sh projet estime la place occupée par un dossier.
- Vérifier le disque : df -h affiche l’espace utilisé et disponible sur les volumes.
- Consulter l’aide : man ls ouvre le manuel de la commande ls.
La suppression demande une attention particulière. rm fichier.txt efface un fichier ; rm -r dossier supprime un dossier et son contenu. L’option -f force la suppression sans demander de confirmation : vérifiez le chemin avant de l’ajouter, surtout dans une commande récursive.
Pour visualiser d’autres exemples de syntaxe, ce guide sur les commandes Bash sous Linux et Windows aide à repérer les similitudes et les différences entre environnements.
Liens, permissions et privilèges sous Linux
Un lien symbolique sert de raccourci vers un fichier ou un dossier. La commande ln -s source.txt raccourci.txt crée ce type de lien ; un lien dur, créé avec ln source.txt autre-nom.txt, renvoie aux mêmes données sur le disque, avec des contraintes propres au système de fichiers.
Linux distingue les droits du propriétaire, du groupe et des autres utilisateurs. Les lettres r, w et x signifient respectivement lecture, écriture et exécution. En notation numérique, elles valent 4, 2 et 1 ; chmod 644 fichier.txt donne donc la lecture et l’écriture au propriétaire, et la lecture aux autres catégories.
La commande chmod 755 script.sh autorise son propriétaire à lire, modifier et exécuter le fichier, tandis que le groupe et les autres peuvent le lire et l’exécuter. Pour attribuer un propriétaire, chown utilisateur fichier.txt change le compte associé ; ces opérations nécessitent parfois les droits administrateur.
sudo permet de lancer une commande avec des privilèges élevés. Il ne faut pas l’ajouter par réflexe : une commande exécutée avec ces droits peut modifier des fichiers système, notamment dans /etc ou /usr. Mieux vaut comprendre l’action demandée avant de valider.
Scripts shell, réseau et gestion des logiciels
Le shell devient particulièrement intéressant quand plusieurs actions doivent être répétées. Un script shell rassemble des commandes dans un fichier afin de reproduire une suite d’opérations, par exemple créer un dossier de sauvegarde puis y copier des fichiers. Avant de l’exécuter, relisez son contenu : l’automatisation accélère aussi bien les bonnes actions que les erreurs.
Pour les échanges réseau, curl envoie des requêtes et peut enregistrer une réponse avec l’option -o. wget sert notamment à récupérer un fichier depuis une adresse web. Ces outils sont utiles pour tester un service ou automatiser une récupération autorisée ; leur comportement dépend des options et de l’adresse ciblée.
Sur Debian et Ubuntu, le gestionnaire de paquets APT installe et met à jour les logiciels. sudo apt update actualise la liste des paquets disponibles, puis sudo apt upgrade applique les mises à jour proposées. Pour retirer un logiciel, sudo apt remove nom-du-paquet le désinstalle ; sudo apt purge nom-du-paquet supprime aussi sa configuration système associée.
Le même réflexe de vérification sert au diagnostic : consulter les journaux avec less ou tail, contrôler l’espace disque avec df -h, puis isoler une cause avant de changer la configuration. Pour un problème de résolution de noms, le guide sur la manière de vider le cache DNS apporte un exemple de dépannage ciblé.
Une bonne habitude consiste à commencer par une commande simple, à examiner son résultat, puis à ajouter des options. C’est ainsi que le terminal cesse d’être une suite de symboles intimidants et devient un outil lisible, étape par étape.
Quelle différence entre un shell et un terminal ?
Le terminal est l’application qui affiche l’interface de saisie. Le shell est le programme qui interprète les commandes entrées dans cette interface, comme Bash ou Zsh.
Bash est-il obligatoire pour utiliser Linux ?
Non. Bash est très répandu, mais Linux peut utiliser d’autres shells, notamment Zsh, Fish ou Dash. Les commandes de base se recoupent souvent, mais certaines syntaxes et options varient.
Comment obtenir de l’aide sur une commande Linux ?
Essayez man suivi du nom de la commande, par exemple man ls. De nombreux outils proposent aussi l’option –help pour afficher rapidement leur syntaxe et leurs options courantes.
Pourquoi faut-il être prudent avec rm -r ?
Cette commande supprime récursivement un dossier et son contenu. Vérifiez le chemin ciblé avant de l’exécuter et évitez d’ajouter l’option -f sans raison précise.
Unblogged propose des guides clairs pour s’y retrouver dans le high-tech, le gaming, la culture et la maison connectée. Nous comparons, testons et expliquons sans jargon, pour aider chacun à choisir l’équipement ou le service qui correspond vraiment à ses usages.





