Une introduction au terminal Linux

introduction

Ce tutoriel, qui est le premier d'une série qui enseigne les bases de Linux à la création de nouveaux utilisateurs, couvre la prise en main du terminal, de la ligne de commande Linux et de l'exécution de commandes. Si vous débutez avec Linux, vous voudrez vous familiariser avec le terminal, car il s’agit du moyen standard d’interagir avec un serveur Linux. L'utilisation de la ligne de commande peut sembler une tâche ardue, mais il est en fait très facile de commencer par les bases et de développer 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 en créer un rapidement en suivant ce lien:How To Create A DigitalOcean Droplet. Ce tutoriel est basé sur un serveur Ubuntu 14.04 mais les principes généraux s’appliquent à n’importe quelle autre distribution de Linux.

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

Emulateur de terminal

Un émulateur de terminal est un programme qui permet d’utiliser le 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 terminal gratuits et couramment utilisés par système d'exploitation:

  • Mac OS X: Terminal (par défaut), iTerm 2

  • Windows: PuTTY

  • Linux: Terminal, KDE Konsole, XTerm

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

La coquille

Dans un système Linux,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 ce qu’il doit en faire. Il existe plusieurs shells largement utilisés, tels queBourne shell (sh) etC shell (csh). Chaque shell a son propre ensemble de fonctionnalités et ses subtilités en ce qui concerne 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 en utilisant lesBourne-Again shell, généralement appelésbash, 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 leMessage of the Day (MOTD), qui est généralement un message d'information qui comprend des informations diverses telles que la version de la distribution Linux exécutée par le serveur. Après le MOTD, vous serez déposé dans l'invite de commande ou l'invite du shell, où vous pouvez 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 d'invite de commande par défaut Ubuntu 14.04:

sammy@webapp:~$

Voici une ventilation de la composition de l'invite de commande:

  • sammy: lesusername de l'utilisateur actuel

  • webapp: leshostname du serveur

  • ~: lescurrent directory. Dansbash, qui est le shell par défaut, le~, ou tilde, est un caractère spécial qui s’étend au chemin deshome directory de l’utilisateur actuel; dans ce cas, il représente/home/sammy

  • $: le symbole d'invite. Ceci 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 queroot 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 pourroot. Sous Linux, l'utilisateurroot est le comptesuperuser, qui est un compte utilisateur spécial qui peut effectuer des fonctions d'administration à 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écuter des 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. Un grand nombre de commandes et d'utilitaires Linux installés avec le système d'exploitation vous permettent de naviguer dans le système de fichiers, d'installer des packages logiciels et d'installer des logiciels, et de configurer le système et les applications.

Une instance d'une commande en cours d'exécution est appeléeprocess. Lorsqu'une commande est exécutée dans leforeground, qui est la manière par défaut dont les commandes sont exécutées, l'utilisateur doit attendre la fin du processus avant d'être renvoyé à l'invite de commande, auquel cas 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 fichier et de répertoire, 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.

Note: Si vous n’êtes pas déjà connecté à un serveur Linux, le moment est venu de vous connecter. Si vous avez un serveur Linux mais que vous rencontrez des problèmes de connexion, suivez ce lien:How to Connect to Your Droplet with SSH.

Sans arguments ni options

Pour exécuter une commande sans aucun argument ni option, tapez simplement le nom de la commande et appuyez surRETURN.

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 commandecd sans aucun argument, vous serez renvoyé au répertoire de base de votre utilisateur actuel. La commandels imprimera une liste des fichiers et répertoires du répertoire courant. La commandeip sans aucun argument affichera un message qui vous montre comment utiliser la commandeip.

Essayez d'exécuter la commandels sans argument pour lister les fichiers et répertoires dans votre répertoire actuel (il peut n'y en avoir aucun):

ls

Avec des arguments

De nombreuses commandes acceptentarguments ouparameters, ce qui peut affecter le comportement d'une commande. Par exemple, la manière la plus courante d'utiliser la commandecd est de lui passer un argument unique qui spécifie le répertoire vers lequel passer. Par exemple, pour passer au répertoire/usr/bin, où de nombreuses commandes standard sont installées, vous émettez cette commande:

cd /usr/bin

Le composantcd 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 commandels pour voir les fichiers qui se trouvent dans votre nouveau répertoire actuel.

ls

Avec options

La plupart des commandes acceptent lesoptions, également appelésflags ouswitches, 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'un ou plusieursoptions, qui sont représentés par des lettres majuscules ou minuscules individuelles. De plus, certaines options commencent par--, suivies d'une option unique à plusieurs caractères (généralement un mot descriptif).

Pour un exemple de base du fonctionnement des options, examinons la commandels. Voici quelques options courantes utiles lors de l'utilisation dels:

  • -l: imprimer une «longue liste», qui comprend des détails supplémentaires tels que les autorisations, la propriété, la taille des fichiers et les horodatages

  • -a: listeall des fichiers d'un répertoire, y compris les fichiers cachés (qui commencent par.)

Pour utiliser l'indicateur-l avecls, utilisez cette commande:

ls -l

Notez 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. Si vous souhaitez utiliser les options-l et-a ensemble, vous pouvez exécuterls -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, à cause 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 commandels:

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 du serveur.

Variables d'environnement

Les variables d'environnement sont des valeurs nommées utilisées pour modifier le mode d'exécution des commandes et des processus. Lorsque vous vous connectez pour la première fois à un serveur, plusieurs variables d’environnement sont définies par défaut en fonction de quelques fichiers de configuration.

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 commandeenv:

env

Il y aura probablement beaucoup de sortie, mais essayez de rechercher l'entréePATH:

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

La variable d'environnementPATH est une liste de répertoires délimités par deux-points où le shell recherchera des programmes exécutables ou des scripts lorsqu'une commande est émise. Par exemple, la commandeenv se trouve dans/usr/bin, et nous pouvons l'exécuter sans spécifier son emplacement complet car son chemin est dans la variable d'environnementPATH.

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 élargira la variable référencée à sa valeur.

Par exemple, pour imprimer la valeur de la variablePATH, vous pouvez utiliser la commandeecho:

echo $PATH

Ou vous pouvez utiliser la variableHOME, qui est définie par défaut dans le répertoire personnel de votre utilisateur, pour passer à 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, celle-ci 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, immédiatement suivi d'un signe=, suivi immédiatement de la valeur souhaitée:

VAR=value

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

Bash inclut une commande appeléeexport 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 faisant référence à une variable d'environnement exportée 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'environnementPATH avec cette commande:

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

Vérifiez maintenant que/opt/app/bin a été ajouté à la fin de votre variablePATH avececho:

echo $PATH

N'oubliez pas que définir les 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 d'une autre manière à une autre session, les modifications apportées à l'environnement ne seront pas conservées. Il existe un moyen de modifier de manière permanente les variables d'environnement, mais cela sera traité dans un prochain tutoriel.

Conclusion

Maintenant que vous avez appris les bases du terminal Linux (et quelques commandes), vous devriez avoir une bonne base pour développer votre connaissance des commandes Linux. Lisez lesnext tutorial in this series pour savoir comment parcourir, afficher et modifier les fichiers et leurs autorisations.