Une introduction au terminal Linux

Introduction

Ce tutoriel, le premier d’une série qui enseigne les fondamentaux de Linux, couvre les premiers pas avec le terminal, la ligne de commande Linux et l’exécution des commandes. Si vous êtes novice sous Linux, vous voudrez vous familiariser avec le terminal, car c’est le moyen standard d’interagir avec un serveur Linux.

Si vous souhaitez tirer le meilleur parti de ce tutoriel, vous aurez besoin d’un serveur Linux auquel vous connecter et que vous pourrez utiliser. Si vous n’en avez pas déjà un, vous pouvez en créer rapidement un en suivant ce lien : Comment créer une droplet DigitalOcean. Ce tutoriel est écrit pour un serveur Ubuntu 22.04 mais les principes généraux s’appliquent à n’importe quelle autre distribution Linux.

Commençons par examiner ce qu’est un émulateur de terminal.

Émulateur de terminal

A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.

Voici quelques émulateurs de terminal gratuits et couramment utilisés par système d’exploitation :

  • Mac OS X : Terminal (par défaut), iTerm 2
  • Windows : ConEmu, Terminal Windows, PuTTY
  • Linux : Terminal Gnome, Konsole, XTerm

Chaque émulateur de terminal a ses propres fonctionnalités. En général, vous devriez vous attendre à ce qu’un émulateur de terminal moderne prenne en charge les fenêtres à onglets et la mise en surbrillance du texte.

Le Shell

Dans un système Linux, le shell est une interface en ligne de commande qui interprète les commandes et les fichiers de script d’un utilisateur, et indique à l’ordinateur serveur ce qu’il doit en faire. Il existe plusieurs shells largement utilisés, tels que le shell Bourne-Again (bash) et le shell Z (zsh). Chaque shell a son propre ensemble de fonctionnalités et des subtilités concernant la façon dont les commandes sont interprétées, mais ils comportent tous des redirections d’entrée et de sortie, des variables, et des tests de condition, entre autres.

Ce tutoriel a été écrit en utilisant le shell Bourne-Again, généralement appelé bash, qui est le shell par défaut de la plupart des distributions Linux, y compris Ubuntu, Fedora et RHEL.

L’invite de commande

Lorsque vous vous connectez à un serveur pour la première fois, vous êtes généralement accueilli par le Message du Jour (MOTD), qui est généralement un message informatif incluant des informations diverses telles que la version de la distribution Linux sur laquelle le serveur s’exécute. Après le MOTD, vous êtes dirigé vers l’invite de commande, ou invite de shell, où vous pouvez saisir des commandes pour le serveur.

Les informations présentées à l’invite de commande peuvent être personnalisées par l’utilisateur, mais voici un exemple de l’invite de commande par défaut d’Ubuntu 20.04:

sammy@webapp:~$

Voici une explication de la composition de l’invite de commande:

  • sammy: Le nom d’utilisateur de l’utilisateur actuel
  • webapp: Le nom d’hôte du serveur
  • ~: Le répertoire actuel. Dans bash, qui est l’interpréteur de commandes par défaut, le ~, ou tilde, est un caractère spécial qui se développe en chemin du répertoire personnel de l’utilisateur actuel; dans ce cas, il représente /home/sammy
  • $: Le symbole d’invite. Cela indique la fin de l’invite de commande, après quoi l’entrée au clavier de l’utilisateur apparaîtra

Voici un exemple de ce à quoi l’invite de commande pourrait ressembler, si vous êtes connecté en tant que root et dans le répertoire /var/log:

root@webapp:/var/log#

Notez que le symbole qui termine l’invite de commande est un #, qui est le symbole d’invite standard pour root. Sous Linux, l’utilisateur root est le compte superutilisateur, qui est un compte utilisateur spécial pouvant effectuer des fonctions administratives à l’échelle du système. C’est un utilisateur illimité qui a la permission d’effectuer n’importe quelle tâche sur un serveur.

Exécution de commandes

Les commandes peuvent être exécutées à l’invite de commande en spécifiant le nom d’un fichier exécutable, qui peut être un programme binaire ou un script. Il existe de nombreuses commandes et utilitaires Linux standard installés avec le système d’exploitation, qui vous permettent de naviguer dans le système de fichiers, d’installer des packages logiciels et de configurer le système et les applications.

Une instance d’une commande en cours d’exécution est appelée un processus. Lorsqu’une commande est exécutée en premier plan, qui est la manière par défaut dont les commandes sont exécutées, l’utilisateur doit attendre que le processus se termine avant de retourner à l’invite de commande, à ce moment-là, il peut continuer à émettre d’autres commandes.

Il est important de noter que presque tout dans Linux est sensible à la casse, y compris les noms de fichiers et de répertoires, les commandes, les arguments et les options. Si quelque chose ne fonctionne pas comme prévu, vérifiez l’orthographe et la casse de vos commandes!

Voici quelques exemples qui couvriront les fondamentaux de l’exécution de commandes.

Remarque : Si vous n’êtes pas déjà connecté à un serveur Linux, c’est le bon moment pour vous connecter. Si vous avez un serveur Linux mais que vous avez des difficultés à vous connecter, suivez ce lien : Comment se connecter à votre Droplet avec SSH.

Sans arguments ni options

Pour exécuter une commande sans aucun argument ni option, saisissez le nom de la commande et appuyez sur Entrée.

Si vous exécutez une commande de cette manière, elle présentera son comportement par défaut, qui varie d’une commande à l’autre. Par exemple, si vous exécutez la commande cd sans aucun argument, vous retournerez dans le répertoire personnel de votre utilisateur actuel. La commande ls affichera une liste des fichiers et répertoires du répertoire actuel. La commande ip sans aucun argument affichera un message qui vous montre comment utiliser la commande ip.

Essayez d’exécuter la commande ls sans arguments pour lister les fichiers et répertoires de votre répertoire actuel (il se peut qu’il n’y en ait pas) :

  1. ls

Avec des arguments

De nombreuses commandes acceptent des arguments ou des paramètres, qui peuvent influencer le comportement d’une commande. Par exemple, la façon la plus courante d’utiliser la commande cd est de lui passer un seul argument spécifiant le répertoire vers lequel changer. Par exemple, pour passer au répertoire /usr/bin, où de nombreuses commandes standard sont installées, vous émettriez cette commande :

cd /usr/bin

Le composant cd est la commande, et le premier argument /usr/bin suit la commande. Remarquez comment le chemin actuel de votre invite de commande a été mis à jour.

Essayez d’exécuter la commande ls pour voir les fichiers qui se trouvent dans votre nouveau répertoire courant.

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

Avec des options

La plupart des commandes acceptent des options, également appelées drapeaux ou commutateurs, qui modifient le comportement de la commande. Les options suivent une commande et sont indiquées par un seul caractère - suivi d’une ou plusieurs options, qui sont représentées par des lettres individuelles en majuscules ou en minuscules. Certaines options à mots multiples peuvent commencer par --, suivies du texte du drapeau.

Pour un exemple de fonctionnement des options, examinons la commande ls. Voici quelques options courantes qui sont utiles lors de l’utilisation de ls :

  • -l : affiche une « liste longue », qui inclut des détails supplémentaires tels que les autorisations, la propriété, les tailles de fichier et les horodatages
  • -a : liste tous les fichiers d’un répertoire, y compris ceux cachés (qui commencent par .)

Pour utiliser le drapeau -l avec ls, utilisez cette commande :

  1. ls -l

Remarquez que la liste inclut les mêmes fichiers qu’auparavant, mais avec des informations supplémentaires sur chaque fichier.

Comme mentionné précédemment, les options peuvent souvent être regroupées ensemble. Si vous souhaitez utiliser les options -l et -a ensemble, vous pouvez exécuter ls -l -a, ou simplement les combiner comme dans cette commande :

  1. ls -la

Remarquez que la liste inclut les répertoires cachés . et .. dans la liste, en raison de l’option -a.

Avec Options et Arguments

Les options et les arguments peuvent presque toujours être combinés lors de l’exécution de commandes.

Par exemple, vous pourriez vérifier le contenu de /home, quel que soit votre répertoire actuel, en exécutant cette commande ls :

ls -la /home

ls est la commande, -la sont les options, et /home est l’argument qui indique quel fichier ou répertoire lister. Cela devrait afficher une liste détaillée du répertoire /home, qui devrait contenir les répertoires personnels de tous les utilisateurs normaux sur le serveur.

Variables d’environnement

Les variables d’environnement sont des valeurs nommées utilisées pour modifier la manière dont les commandes et les processus sont exécutés. Lorsque vous vous connectez pour la première fois à un serveur, plusieurs variables d’environnement seront définies selon quelques fichiers de configuration par défaut.

Afficher toutes les variables d’environnement

Pour afficher toutes les variables d’environnement définies pour une session de terminal particulière, exécutez la commande env:

env

Il y aura probablement beaucoup de sortie. Recherchez l’entrée PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

La variable d’environnement PATH est une liste délimitée par des deux-points des répertoires où l’interpréteur de commandes recherchera les programmes exécutables ou les scripts lorsqu’une commande est émise. Par exemple, la commande env est située dans /usr/bin, et vous pouvez l’exécuter sans spécifier son chemin complet car son chemin est dans la variable d’environnement PATH.

Afficher la valeur d’une variable

La valeur d’une variable d’environnement peut être récupérée en préfixant le nom de la variable avec un $. Cela permettra d’ étendre la variable référencée à sa valeur.

Par exemple, pour afficher la valeur de la variable PATH, vous pouvez utiliser la commande echo:

echo $PATH

Ou vous pouvez utiliser la variable HOME, qui est définie par défaut sur le répertoire personnel de l’utilisateur, pour accéder à votre répertoire personnel de cette manière:

cd $HOME

Si vous essayez d’accéder à une variable d’environnement qui n’a pas été définie, elle sera étendue à rien ; une chaîne vide.

Définition des variables d’environnement

Maintenant que vous savez comment afficher vos variables d’environnement, vous devriez apprendre à les définir.

Pour définir une variable d’environnement, tout ce que vous avez à faire est de commencer par un nom de variable, suivi immédiatement par un signe =, suivi immédiatement par sa valeur souhaitée:

VAR=value

Notez que si vous définissez une variable existante, la valeur d’origine sera écrasée. Si la variable n’existait pas en premier lieu, elle sera créée.

Bash inclut une commande appelée export qui exporte une variable afin qu’elle soit héritée par les processus enfants. Cela vous permet d’utiliser des scripts qui font référence à une variable d’environnement exportée à partir de votre session actuelle.

Vous pouvez également faire référence à des variables existantes lors de la définition d’une variable. Par exemple, si vous avez installé une application dans /opt/app/bin, vous pouvez ajouter ce répertoire à la fin de votre variable d’environnement PATH avec cette commande :

export PATH=$PATH:/opt/app/bin

Maintenant, vérifiez que /opt/app/bin a été ajouté à la fin de votre variable PATH avec echo :

echo $PATH

Gardez à l’esprit que la définition des variables d’environnement de cette manière ne les configure que pour votre session actuelle. Cela signifie que si vous vous déconnectez ou changez de session, les modifications apportées à l’environnement ne seront pas conservées. Il existe un moyen de modifier définitivement les variables d’environnement, mais cela sera abordé dans un tutoriel ultérieur.

Conclusion

Maintenant que vous avez commencé à apprendre sur le terminal Linux (et quelques commandes), vous devriez avoir une bonne base pour étendre vos connaissances des commandes Linux. Lisez le tutoriel suivant de cette série pour apprendre à naviguer, visualiser et modifier des fichiers ainsi que leurs autorisations.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal