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 actuelwebapp
: Le nom d’hôte du serveur~
: Le répertoire actuel. Dansbash
, 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) :
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 :
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 :
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