Le Terminal et le Shell sous Linux Flashcards

1
Q

1.Qu’est-ce qu’un terminal informatique ?

A

Un terminal informatique est un équipement d’entrée/sortie qui permet d’opérer un système. Les terminaux physiques ont été remplacés par des émulateurs de terminaux virtuels.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

2.Quels sont les émulateurs de terminaux courants sous Linux ?

A

GNOME Terminal
Konsole
xfce-terminal
urxvt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Qu’est-ce qu’un interpréteur de commandes (shell) ?
A

Un programme qui exécute des commandes saisies par l’utilisateur, facilitant les appels système vers le noyau.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4 l’histoire du terminal

A

1.Dans les années 60-70, un ordinateur occupait l’espace
d’une pièce entière
2.Avec l’évolution des technologies, le terminal s’est
rapproché de la machine, mais restait tout de même
un équipement dissocié

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5Le terminal informatique

A

Désigne un équipement entrée/sortie
* Il permet d’opérer le système
* Il pouvait posséder un clavier, un écran avec un pointer, une imprimante
Les terminaux physiques ont laissé la place aux terminaux
virtuels, ou émulateurs de terminaux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

6 Découvrir la virtualisation des terminaux
de commande

A
  1. L’idée, c’est de passer par le logiciel pour émuler (ou simuler)
    l’équipement terminal physique et toutes ses fonctionnalités.
  2. Ce logiciel est souvent un petit programme qui se lance sur un système
    d’exploitation et qui permet de se connecter localement ou à distance sur
    le serveur à administrer. Il devient donc possible de lancer plusieurs
    terminaux simultanément depuis le même environnement !
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

La console

A

La console sous Linux est un périphérique gérant le clavier et
l’écran de l’ordinateur et propose d’interagir avec l’utilisateur
via un terminal en mode texte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Les principaux émulateurs de terminal

A

*PuTTY sous Windows
*Terminal sous macOS
*xterm sous Linux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A quoi sert le terminal

A
  • A se connecter avec un protocole réseau sur
    le serveur distant autant de fois que souhaité
  • Y compris plusieurs fois sur le même serveur
    avec des utilisateurs différents (dans la limite
    de connexions simultanées configurées sur
    chaque serveur).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Comprendre les interactions
entre les terminaux virtuels
et les hyperviseurs de type 1
et 2

A

L’hyperviseur de niveau 2
(dans l’exemple ci-dessous
Oracle Virtualbox) va
proposer l’affichage de la
console et des terminaux
physiques… de manière
virtuelle :

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

L’interpréteur de commandes «shell»

A

C’est un programme qui est exécuté lors de la connexion
de l’administrateur sur une console ou un terminal. Il
présente une interface en mode texte qui permet de
saisir des commandes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Et à quoi ça sert, cet interpréteur de
commandes ?

A
  • Le rôle principal du shell est d’exécuter les commandes
    saisies par l’administrateur lui permettant d’effectuer
    des appels systèmes vers le noyau.
  • Mais l’interpréteur de commandes fournit également
    d’autres fonctionnalités essentielles permettant de
    faciliter la tâche de l’administrateur.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Histoire des shells sous Unix/Linux

A
  • Ken Thompson, l’un des créateurs de Unix, invente son propre
    shell en 1971 et le nomme Thompson shell.
  • Stephen Bourne écrit le Bourne shell en 1977 qui devient une
    référence en matière d’interpréteur de commandes, avec des
    fonctionnalités très intéressantes
  • le C Shell, qui dispose d’un langage très proche du langage C (le
    langage natif des systèmes Unix/Linux) et donc très populaire
    pour cette raison
  • le KornShell, développé plus tard, début des années 80, apporte
    de son côté une amélioration du C Shell avec une intégration
    d’autres langages comme le Perl, le TCL par exemple, le support
    de tableaux associatifs, etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Shell standard sous Linux

A
  • Bash (pour Bourne Again Shell)
  • Développé fin des années 80, cet interpréteur de
    commandes est un peu un condensé du meilleur de tous
    ses ancêtres.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Découvrez Bash, le shell standard de Linux

A

Le shell exécuté lors de la connexion d’un utilisateur sur
un terminal est configuré dans le fichier /etc/passwd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fonctionnalités importantes

A
  • command linecompletion : avec la touche TAB
  • signal handling : CTRL-C pour interrompre
  • exit code : code de sortie d’un programme dans une
    variable nommée $?
17
Q

Les commandes sous Bash

A

Nous allons explorer les différentes fonctionnalités de
Bash, directement depuis le terminal de commandes

18
Q

Utiliser le prompt et consulter ses variables

A
  • Cette interface, le prompt, affiche déjà quelques informations
    intéressantes.
  • ~ répertoire personnel de l’utilisateur
  • $ utilisateur non privilégié, # compte root
  • Toutes ces configurations sont stockées dans un fichier et une variable
    nommée $PS1
19
Q

Vos premières commandes

A
  • La commande echo vous permet d’afficher le contenu
    des variables ($PS1 et $SHELL)
  • /bin/bash –version
20
Q

Les commandes internes

A
  • Ces commandes sont livrées avec l’interpréteur de
    commandes directement, comme une primitive du shell.
  • Elles sont disponibles à tout moment par l’administrateur du
    système.
  • Cependant, il est probable que toutes ne soient pas
    forcément intégrées à l’interpréteur de commandes que vous
    allez utiliser.
  • Il est également possible que leurs options ne soient pas
    toutes identiques non plus.
21
Q

Les commandes externes

A
  • Ces commandes sont externes à l’interpréteur de
    commandes, c’est-à-dire qu’elles ne sont pas fournies
    par le shell.
  • Elles sont généralement présentes sur le système sous la
    forme d’un fichier compilé binaire ou d’un fichier
    disposant des droits d’exécution (comme un script Perl
    par exemple).
22
Q

Configurer l’accès aux commandes

A
  • Si la commande id est externe au shell, comment Bash fait-il
    pour savoir que id est le fichier/usr/bin/id? Autrement dit,
    comment le shell Bash fait-il pour accéder aux commandes
    externes ?
  • La réponse se situe dans une nouvelle variable
    d’environnement PATH
23
Q

Démo la variable d’environnement PATH

A

Je vous propose d’étudier la variable PATH. Nous verrons comment
afficher et interpréter son contenu, ce qui nous permettra de
découvrir trois répertoires importants sous Linux :
* /usr/local/bin
* /usr/bin
* /bin

24
Q

Consulter la documentation des
commandes sous linux

A

Via le Web et les moteurs de recherches
* Via les commandes help et man

25
Q

Profiter des fonctionnalités avancées de
Bash

A
  • Commande history
  • Les alias