Une introduction au terminal Linux

De Get Docs
Aller à :navigation, rechercher

Introduction

Ce didacticiel, qui est le premier d'une série qui enseigne les bases de Linux pour aider les nouveaux utilisateurs à se lever, couvre la prise en main du terminal, la ligne de commande Linux et l'exécution de commandes. Si vous débutez avec Linux, vous voudrez vous familiariser avec le terminal, car c'est le moyen standard d'interagir avec un serveur Linux. L'utilisation de la ligne de commande peut sembler une tâche intimidante, mais c'est en fait très facile si vous commencez par les bases et développez vos compétences à partir de là.

Si vous souhaitez tirer le meilleur parti de ce didacticiel, vous aurez besoin d'un serveur Linux pour vous connecter et l'utiliser. Si vous n'en avez pas déjà un, vous pouvez rapidement en créer un en suivant ce lien : Comment créer une gouttelette DigitalOcean. Ce tutoriel est basé sur un serveur Ubuntu 14.04 mais les principes généraux s'appliquent à toute autre distribution de Linux.

Commençons par passer en revue ce qu'est un émulateur de terminal.

Émulateur de terminal

Un émulateur de terminal est un programme qui permet l'utilisation du terminal dans un environnement graphique. Comme la plupart des gens utilisent un système d'exploitation avec une interface utilisateur graphique (GUI) pour leurs besoins informatiques quotidiens, l'utilisation d'un émulateur de terminal est une nécessité pour la plupart des utilisateurs de serveurs Linux.

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

  • Mac OS X : Terminal (par défaut), iTerm 2
  • Windows : Mastic
  • Linux : Terminal, KDE Konsole, XTerm

Chaque émulateur de terminal possède son propre ensemble de fonctionnalités, mais toutes celles répertoriées fonctionnent très bien et sont faciles à utiliser.

La coquille

Dans un système Linux, le shell est une interface de ligne de commande qui interprète les commandes et les fichiers de script d'un utilisateur, et indique au système d'exploitation du serveur quoi en faire. Plusieurs shells sont largement utilisés, tels que Bourne shell (sh) et C shell (csh). Chaque shell a son propre ensemble de fonctionnalités et ses propres subtilités, concernant la façon dont les commandes sont interprétées, mais ils comportent tous une redirection d'entrée et de sortie, des variables et des tests de condition, entre autres.

Ce didacticiel a été écrit à l'aide du shell Bourne-Again , généralement appelé bash, qui est le shell par défaut pour la plupart des distributions Linux, y compris Ubuntu, CentOS et RedHat.

L'invite de commande

Lorsque vous vous connectez pour la première fois à un serveur, vous serez généralement accueilli par le Message du jour (MOTD), qui est généralement un message d'information contenant diverses informations telles que la version de la distribution Linux que le serveur est en cours d'exécution. Après le MOTD, vous serez déposé dans l'invite de commande, ou l'invite du shell, où vous pourrez envoyer des commandes au 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 14.04 :

[email protected]:~$

Voici une ventilation 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 le shell par défaut, le ~, ou tilde, est un caractère spécial qui s'étend jusqu'au chemin du répertoire d'accueil 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 la saisie au clavier de l'utilisateur apparaîtra

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

[email protected]:/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 d'utilisateur spécial qui peut exécuter des fonctions administratives à l'échelle du système. Il s'agit d'un utilisateur sans restriction qui a l'autorisation d'effectuer n'importe quelle tâche sur un serveur.

Exécution de commandes

Les commandes peuvent être émises à 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 connue sous le nom de process. Lorsqu'une commande est exécutée au foreground, qui est la manière par défaut d'exécuter les commandes, l'utilisateur doit attendre la fin du processus avant d'être renvoyé à l'invite de commande, auquel cas il peut continuer à émettre plus 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, revérifiez l'orthographe et la casse de vos commandes !

Nous allons passer en revue quelques exemples qui couvriront les bases 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 rencontrez des difficultés pour vous connecter, suivez ce lien : Comment se connecter à votre droplet avec SSH.

Sans arguments ni options

Pour exécuter une commande sans arguments ni options, saisissez simplement le nom de la commande et appuyez sur RETURN.

Si vous exécutez une commande comme celle-ci, elle affichera 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 serez renvoyé au répertoire personnel de votre utilisateur actuel. La commande ls imprimera une liste des fichiers et répertoires du répertoire courant. La commande ip sans aucun argument imprimera un message qui vous montre comment utiliser la commande ip.

Essayez d'exécuter la commande ls sans arguments pour répertorier les fichiers et répertoires de votre répertoire actuel (il peut n'y en avoir aucun) :

ls

Avec arguments

De nombreuses commandes acceptent arguments ou paramètres, ce qui peut affecter 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 qui spécifie le répertoire vers lequel changer. Par exemple, pour accéder au répertoire /usr/bin, où de nombreuses commandes standard sont installées, vous devez émettre cette commande :

cd /usr/bin

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

Si vous le souhaitez, essayez d'exécuter la commande ls pour voir les fichiers qui se trouvent dans votre nouveau répertoire actuel.

ls

Avec options

La plupart des commandes acceptent les options, également appelées flags ou switches, qui modifient le comportement de la commande. Comme il s'agit d'arguments spéciaux, 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 majuscules ou minuscules individuelles. De plus, certaines options commencent par --, suivi d'une seule option à plusieurs caractères (généralement un mot descriptif).

Pour un exemple basique du fonctionnement des options, regardons la commande ls. Voici quelques options courantes qui s'avèrent utiles lors de l'utilisation de ls :

  • -l : imprimez une "liste longue", qui inclut des détails supplémentaires tels que les autorisations, la propriété, la taille des fichiers 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 :

ls -l

Notez que la liste comprend 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. 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 :

ls -la

Notez 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 pouvez 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 le fichier ou le répertoire à lister. Cela devrait imprimer 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 qui sont utilisées pour modifier la façon 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 en fonction de 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, mais essayez de rechercher 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 de répertoires séparés par deux-points où le shell recherchera des programmes ou des scripts exécutables lorsqu'une commande est émise. Par exemple, la commande env est située dans /usr/bin, et nous pouvons l'exécuter sans spécifier son emplacement complet car son chemin se trouve 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 développera la variable référencée à sa valeur.

Par exemple, pour imprimer 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 votre utilisateur, pour accéder à votre répertoire personnel comme ceci :

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 devez apprendre à les définir.

Pour définir une variable d'environnement, il vous suffit de commencer par un nom de variable, suivi immédiatement d'un signe =, suivi immédiatement de 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. En termes simples, cela vous permet d'utiliser des scripts qui référencent une variable d'environnement exportée à partir de votre session actuelle. Si vous ne savez toujours pas ce que cela signifie, ne vous inquiétez pas pour le moment.

Vous pouvez également référencer des variables existantes lors de la définition d'une variable. Par exemple, si vous avez installé une application sur /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

Vérifiez maintenant 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 définit que pour votre session en cours. Cela signifie que si vous vous déconnectez ou passez à une autre session, les modifications que vous avez apportées à l'environnement ne seront pas conservées. Il existe un moyen de modifier définitivement les variables d'environnement, mais cela sera couvert dans un didacticiel ultérieur.

Conclusion

Maintenant que vous avez appris les bases du terminal Linux (et quelques commandes), vous devriez avoir une bonne base pour approfondir vos connaissances sur les commandes Linux. Lisez le prochain didacticiel de cette série pour apprendre à naviguer, afficher et modifier des fichiers et leurs autorisations.