Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Linux
  3. Connexion et premières commandes
Extrait - Linux Principes de base de l'utilisation du système (8e édition)
Extraits du livre
Linux Principes de base de l'utilisation du système (8e édition) Revenir à la page d'achat du livre

Connexion et premières commandes

Introduction

À l’issue de ce chapitre, le lecteur sera capable de se connecter à un système GNU/Linux et de saisir ses premières commandes.

Pour cela, seront vus en détail les consoles disponibles sous Linux, le processus d’authentification et l’utilisation de la ligne de commande.

Consoles et terminaux Linux

Les termes "console" et "terminal" sont employés pour définir l’ensemble de périphériques permettant à l’utilisateur d’interagir avec le système ; cet ensemble est généralement composé d’un écran, d’un clavier et d’une souris.

1. Consoles virtuelles

Afin d’offrir plusieurs terminaux à l’utilisateur à partir du même ensemble écran/clavier/souris, Linux fournit un certain nombre de consoles virtuelles.

L’avantage de cette gestion est de disposer aussi bien de plusieurs terminaux "texte" pour les tâches devant être effectuées en ligne de commande, que d’une console "graphique" permettant de lancer des outils avec une interface plus évoluée comme un logiciel de retouche d’images ou un lecteur multimédia.

Ces consoles virtuelles, généralement au nombre de six ou sept sur les distributions comme Fedora, Ubuntu ou SUSE, sont composées de cinq à six terminaux texte et d’une console graphique. Elles sont représentées par les touches de fonction [F1] à [F7] du clavier ([F1] ou [F7] étant la console graphique) ; pour passer de l’une à l’autre, il faut appuyer simultanément sur les touches [Ctrl]+[Alt]+[Fn] où...

Connexion et authentification

Le système Linux étant multi-utilisateur, il faut en premier lieu s’authentifier auprès de la machine.

L’authentification permet de vérifier que l’utilisateur présent devant la console est bien celui qu’il prétend être. Il doit fournir son identité (nom de connexion ou login) et une preuve de celle-ci (mot de passe) pour se connecter.

Qu’il s’agisse du mode texte ou du mode graphique, le mot de passe saisi par l’utilisateur n’est pas affiché.

La saisie du nom de connexion et du mot de passe doit respecter scrupuleusement la casse des caractères (majuscules/minuscules). D’une manière générale, que ce soit dans un nom de fichier, un login, un nom de variable ou une commande, la lettre a n’est pas égale à la lettre A.

Exemple de connexion sur un terminal texte

Fedora 36 (Workstation Edition) 
Kernel 5.17.5-300.fc36.x86_64 on an x86_64 (tty3) 
 
localhost login: nicolas 
Password: 
Last login: Fri Jul 29 12:33:38 on tty3 
[nicolas@localhost ~]$ 

Exemple de connexion sur un terminal graphique

images/8RI02-06.png

Invite shell (prompt)

Une fois connecté à un terminal texte, un programme - nommé shell - est lancé automatiquement. Il permet de saisir les commandes que nous évoquerons plus loin.

Le shell indique qu’il est en attente d’une instruction en présentant une invite (ou prompt) en début de ligne.

Suivant la configuration prédéfinie par l’éditeur de la distribution Linux, cette invite peut prendre plusieurs aspects, par exemple sur Red Hat, Fedora ou CentOS :

[nicolas@doe tmp]$ 

Sur Debian ou Ubuntu :

nicolas@doe:~$ 

Ou encore :

[root@doe bin]# 

L’élément à retenir dans les invites que nous venons de présenter, est le dernier caractère de chacune : un $ ou un # dans la plupart des cas. En effet, il indique que l’utilisateur actuel connecté est soit un utilisateur quelconque sans droits particuliers ($), soit l’administrateur qui possède tous les droits nécessaires à la configuration et à la maintenance du système (#).

Les autres informations présentées dans l’invite du shell sont le nom de l’utilisateur (avant le @), le nom de la machine (doe) et le nom du répertoire courant (tmp, ~ et bin).

Pour simplifier les exemples suivants, l’invite du shell sera réduite à ce dernier caractère ($ ou #), éventuellement précédé...

Syntaxe des commandes

Il est important de connaître la syntaxe des commandes afin d’éviter un grand nombre d’erreurs de saisie.

Dans sa plus simple expression, sans option ou argument particulier, une commande est lancée en tapant son nom sur la ligne de commande :

$ commande 

Dans les exemples suivants, le $ situé en début de ligne correspond à l’invite du shell et ne doit pas être saisi par l’utilisateur.

Si des arguments doivent être spécifiés, ils sont ajoutés à la suite de la commande sur la ligne, séparés par un caractère d’espacement :

$ commande arg1 arg2 

Dans la grande majorité des cas, les arguments sont les noms des fichiers sur lesquels agit la commande.

Les traitements ou la sortie (affichage) d’une commande GNU/Linux sont souvent modifiables à l’aide d’une option. Ces options, spécifiques à chaque commande, proviennent habituellement des implémentations originales et des apports des différents UNIX antérieurs à Linux. C’est pourquoi, pour une commande, il peut exister plusieurs dizaines d’options avec différentes syntaxes.

Il existe principalement deux types d’options : les options monocaractères et les options longues. Toutes deux doivent être saisies, séparées par un caractère d’espacement...

Utilisation de la souris

En plus de l’utilisation intuitive que l’on fait de la souris dans un environnement graphique, celle-ci est utilisée sur la ligne de commande.

En effet, une fonction de copier/coller est disponible à partir de la souris. Toute sélection de texte effectuée à l’aide du bouton gauche de la souris est automatiquement copiée dans une mémoire tampon. Pour coller, sous le curseur, la chaîne de caractères copiée en mémoire, il suffit alors de cliquer sur le bouton du milieu de la souris.

Les souris ne possédant que deux boutons sont normalement configurées pour émuler le bouton du milieu manquant. Sous la console graphique, ce bouton est simulé en cliquant simultanément sur le bouton gauche et droit de la souris. Sous une console texte, l’émulation se fait simplement avec un clic droit de la souris.

Raccourcis-clavier

1. En mode texte

Les raccourcis présentés ici sont propres au shell Bash qui est utilisé par défaut sous Linux ; ils fonctionnent aussi bien sur une console virtuelle texte que sur un émulateur de terminal.

Contrôle de l’affichage

[Ctrl]+[l]

Efface l’affichage et repositionne l’invite du shell sur la première ligne du terminal.

[Maj]+[Page préc]

Remonte d’une demi-page dans l’affichage du terminal (de la même manière qu’un ascenseur) ; très pratique pour visualiser le résultat d’une commande un peu longue. Il est possible de remonter de cinq à six pages suivant la configuration du système.

[Maj]+[Page suiv]

À l’inverse du raccourci précédent, descend d’une demi-page dans l’affichage du terminal.

Édition de la ligne de commande

[Deb]

Déplace le curseur en début de ligne.

[Fin]

Déplace le curseur en fin de ligne.

[Gauche]

Déplace le curseur d’un caractère vers la gauche.

[Droite]

Déplace le curseur d’un caractère vers la droite.

[Suppr]

Supprime le caractère à droite du curseur.

[RetArr]

Supprime le caractère à gauche du curseur.

[Ctrl]+[w]

Efface le dernier mot.

[Ctrl]+[u]

Efface la ligne entière.

Historique de commandes

[Haut]

Remonte dans l’historique de commandes....

Premières commandes

Ces premières applications fournissent un bon exemple d’utilisation de la ligne de commande Linux tout en permettant d’effectuer des opérations essentielles sur le système ; certaines d’entre elles seront d’ailleurs réutilisées ultérieurement dans ce livre.

1. Identité des utilisateurs : who, whoami, finger

La commande who liste tous les utilisateurs connectés actuellement sur le système :

[nicolas@localhost ~]$ who 
nicolas  pts/1        2022-07-26 22:12 (192.168.118.1) 
root     tty3         2022-07-26 22:28 

Sur cet exemple, l’utilisateur nicolas est connecté à partir d’un émulateur de terminal (pts/1) distant (192.168.118.1), depuis le 26 juillet à 22h12, et l’administrateur (root) sur la troisième console virtuelle texte (tty3) depuis le 26 juillet à 22h28.

Avec l’option -q, la même commande who liste uniquement les noms de connexion et fait le total du nombre d’utilisateurs connectés actuellement :

[nicolas $ who -q 
nicolas root 
nombre d'utilisateurs : 2 

Par contre, la commande who am i qui possède une syntaxe bien particulière - au demeurant très appréciée des producteurs cinématographiques en mal de systèmes informatiques comprenant le langage naturel - affiche uniquement la ligne concernant l’utilisateur connecté :

[nicolas]$ who am i 
nicolas  pts/1         2022-07-26 22:12 (192.168.118.1) 

Dans les dernières versions des émulateurs de terminaux fournis avec les environnements graphiques GNOME et MATE, la commande who am i ne retourne rien. Il est cependant possible sur les distributions employant ces outils de lancer cette commande...

Déconnexion

Une fois que l’utilisateur a terminé le travail pour lequel il s’est connecté au système Linux, il doit se déconnecter (ou fermer sa session) afin de libérer la console qu’il utilise.

La déconnexion d’un terminal texte peut s’effectuer de trois manières :

  • Avec la commande exit.

  • Avec la commande logout (ne fonctionne qu’à partir du shell lancé automatiquement à la connexion).

  • En tapant simultanément sur les touches [Ctrl]+[d].

La séquence de touches [Ctrl]+[d] correspond au caractère de fin de fichier. Lorsque le terminal reçoit ce caractère, il considère que son "fichier" d’entrée (le clavier) est fini et donc, termine son exécution. Cette notion de fichier d’entrée est détaillée dans la section Redirections du chapitre traitant du Shell Bash.

Les interfaces graphiques Linux permettent, quant à elles, de se déconnecter via un menu :

images/8RI02-07.png

Exercices

Exercice 1

Connectez-vous à un terminal virtuel texte, une console graphique ou un terminal distant et lancez un shell si ce n’est pas déjà fait.

Solution

Si vous avez un accès local à la machine, connectez-vous à un terminal virtuel texte ou à la console graphique ; à partir de cette dernière, il faudra en plus lancer un émulateur de terminal pour avoir une ligne de commandes shell.

Si la machine n’est accessible que sur le réseau, utilisez un terminal distant tel que PuTTY pour accéder au système.

Utilisez les informations de connexion que vous avez renseignées lors de l’installation du système, ou celles données par l’administrateur.

Exercice 2

Modifiez votre mot passe.

Solution

Utilisez la commande passwd et prenez soin de respecter les règles définies par l’administrateur : nombre de caractères minimum, de majuscules, de minuscules, de chiffres et de caractères spéciaux.

Exercice 3

Listez les utilisateurs connectés au système.

Solution

Employez la commande who et finger si elle est installée.

Exercice 4

Affichez le calendrier de l’année en cours puis effacez l’écran.

Solution

Exécutez la commande cal avec l’année concernée en argument, puis tapez la commande clear.

Exercice 5

Déconnectez-vous....