Systèmes d’exploitation I
Module: M3 - INF-S3 & IAP-S3
Prof. R. HANNANE
[Link]@[Link]
Faculté des Sciences Semlalia, Marrakech
Université Cadi Ayyad
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 1/31 1 / 31
Les commandes Linux
Les commandes Linux
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 2/31 2 / 31
Les commandes Linux
Les commandes Linux
Format de commande
Il existe un très grand nombre de commandes sous Linux et qui
sont exécutées depuis l’invite du shell
Syntaxe d’une commande est:
nom commande [options] [arguments]
Les "options" sert à modifier le comportement de la commande,
elle commencent par le caractère - (signe moins) suivi de
plusieurs lettre clés (le plus souvent une seule lettre mais parfois elle
peut-être un mot)
I Les options avec une seule lettre sont précédées par un tiret -
I Les options avec un mot entier sont précédée par double tiret - -
Les "arguments" spécifient les objets (fichiers ou variables) sur
les quels la commande va s’appliquer
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 3/31 3 / 31
Les commandes Linux
Les commandes Linux
Format de commande
Chaque argument et chaque option doit être séparées des
autres par des espaces
Certaine commandes n’exigent ni arguments ni options
⇒ Dans ce cas, elle exécute l’action par défaut pour
laquelle elle est programmée, ou affiche un message d’erreur
si ceux-ci sont nécessaires
Note: Linux fait la différence entre le majuscule et le
minuscule pour les commandes , options et arguments
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 4/31 4 / 31
Les commandes Linux
Les commandes Linux
Répertoire courant
Votre répertoire courant est le répertoire dans lequel vous
travaillez actuellement dans un terminal
Cet emplacement est affiché par le prompt
Par défaut le répertoire courant est votre répertoire
personnel mais on peut le changer
Pour afficher votre emplacement (répertoire) courant on utilise la
commande : pwd
pwd : (Print Working Directory) Affiche le chemin d’accès du
répertoire courant. Juste après connexion d’un utilisateur,
cette commande lui précisera son répertoire d’accueil
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 5/31 5 / 31
Les commandes Linux
Les commandes Linux
Lorsque l’utilisateur saisit une commande dans le terminal
texte, l’interpréteur de commandes suit un ensemble des
étapes pour l’exécuter
Exemple: si la commande allo à été saisie par l’utilisateur
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 6/31 6 / 31
Les commandes Linux
Les commandes Linux
La procédure suivie par l’interpréteur de commandes
I Si allo est l’une de ses commandes internes, il l’exécute puis
redonne la main à l’utilisateur
I Sinon, il passe à l’étape suivante:
Il parcourt le contenu d’une variable d’environnement appelée
PATH
⇒ Le contenu de PATH est une liste de répertoires dans lesquels
il faut chercher les binaires correspondant à la commande à
exécuter
Exemple, si PATH contient les répertoires suivants (dans l’ordre) :
/usr/bin; /bin; /home/user/bin alors l’interpréteur de commandes
va chercher les commandes : /usr/bin/allo; /bin/allo;
/home/user/bin/allo
Si aucun de ces répertoires ne contient la commandes allo,
l’interpréteur de commandes affiche un message d’erreur pour
indiquer à l’utilisateur qu’il ne connaı̂t pas cette commande
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 7/31 7 / 31
Les commandes Linux
Les commandes Linux
Types de Commandes
Il existe deux types de commandes :
I Les commandes internes : sont internes au shell et
exécutées au sein de celui-ci. Ces commandes font partie du
programme shell, le bash. Quand on les exécute, le shell
exécute les fonctions définies en son sein correspondant à
celles-ci
Exemple:La commande pwd
I Les commandes externes : sont des programmes binaires
présents en tant que fichiers sur le disque dur (ou tout
autre support de données). Quand on exécute la commande, ce
fichier est chargé en mémoire et lancé en tant que
processus
Exemple:La commande date
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 8/31 8 / 31
Les commandes Linux
Les commandes Linux
Types de Commandes
On peut distinguer une commande interne d’une
commande externe à l’aide de la commande interne type
⇒ C’est ainsi que date est une commande externe, on constate que
c’est un fichier présent dans /bin, tandis que pwd est
interne au shell
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 9/31 9 / 31
Les commandes Linux
Les commandes Linux
Types de Commandes
On peut tomber sur certains autres types de commandes
comme les alias qui sont des raccourcis de commandes
propres au shell
Ainsi le shell bash de certaines distributions Linux proposent des
alias comme la commande ll qui correspond en fait à la
commande ls-alF
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 10/31 10 / 31
Les commandes Linux
Les commandes Linux
Le Shell bash offre plusieurs fonctionnalités :
1 Alias: Permet de donner des noms réduit a des commandes
dont le nom est long
2 Variables: Permettent de stocker des informations utilisées
par le Shell bash
3 Historique des commandes: Permet d’accéder facilement
aux commandes déjà exécutées et les réexécuter
4 Scripting: Un script shell est un fichier exécutable contenant
plusieurs commandes, son rôle est d’automatiser l’exécution
de plusieurs commandes en une seule (le script)
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 11/31 11 / 31
Les commandes Linux
Les commandes Linux
1) Alias du shell bash
Un alias est utilisé pour remplacer une longue commande
par un pseudo plus petit
De cette façon l’utilisateur n’aura pas a taper de longue
commandes
Exemple: la commande ls -l a souvent comme alias l ou ll
Pour visualiser les alias définit sur le système on utilise la
commande alias
Pour créer de nouveaux alias on utilise la commande :
alias nom=commande
Attention:
Il faut noter que les alias créer de cette façon ne sont pas
permanents et seront perdus une fois le Shell fermé
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 12/31 12 / 31
Les commandes Linux
Les commandes Linux
2) Variables du shell bash
Une variable permet au Shell de stocker des données qui
peuvent être utilisée par le Shell ou par une commande
Une variable possède un nom et est stockée
temporairement dans la mémoire une fois le terminal
ferme toute les variables crées seront perdues
⇒ Exemple: la variable HISTSIZE contient le nombre de
commandes mémorisées dans l’historique
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 13/31 13 / 31
Les commandes Linux
Les commandes Linux
2) Variables du shell bash
Pour afficher à l’écran du texte ou la valeur d’une variable
on utilise la commande echo
⇒ Exemple d’affichage du texte:
⇒ Exemple d’affichage de la valeur d’une variable:
Attention: Il faut faire précéder le nom de la variable par
un $
Pour modifier la valeur d’une variable il ne faut pas
utiliser le signe $
⇒ Exemple: HISTSIZE=500
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 14/31 14 / 31
Les commandes Linux
Les commandes Linux
2) Variables du shell bash
La variable PATH indique au Shell les emplacement ou
chercher les commandes à exécuter
Si on tape une commande et on reçoit l’erreur
”command not found c’est parce que le Shell n’arrive pas à
trouver la commande saisie dans les chemins indiqués par
la variable PATH
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 15/31 15 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
Lorsqu’on exécute une commande sur un terminal celle-ci
est enregistrée dans une ”liste d’historique des
commandes”
Plus on tape des commandes, plus l’historique s’agrandit
⇒ Le shell conserve ainsi un grand nombre d’entrées dans
l’historique
Cela s’avère intéressant lorsqu’on veut exécuter la même
commande une autre fois ⇒ on n’aura pas à la résaisir
Cet historique est conservé dans un fichier caché du
répertoire personnel appelé .bash history
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 16/31 16 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
C’est très utile de pouvoir rappeler une commande qu’on a
déjà exécutée en naviguant dans l’historique des commandes
⇒ C’est avec les touches ↑ [Flèche en haut] et ↓ [Flèche en bas]
La flèche du haut remonte dans l’historique:
Si on a saisi les deux précédentes commandes (echo puis pwd)
le premier appui sur la flèche du haut affiche la ligne de commande
pwd
un second appui affichera la commande echo
La flèche du bas navigue dans l’autre sens, jusqu’à l’invite
d’origine
Si on appuit sur la touche [Entrée], on lance de nouveau la
commande
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 17/31 17 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
Pour afficher la liste d’historique on utilise la commande
history
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 18/31 18 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
La commande fc effectue presque la même chose
lorsqu’on utilise le paramètre -l
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 19/31 19 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
Par défaut la commande fc se limite aux 16 dernières
commandes, mais ⇒ On peut lui passer le nombre des
dernières commandes a afficher
Exemple: l’historique des 5 dernières commandes
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 20/31 20 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
Pour exécuter une commande qui figure dans l’historique on
tape dans la ligne de commande un point d’exclamation suivi par
son numéro d’ordre :
Exemple: !11
Autre options:
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 21/31 21 / 31
Les commandes Linux
Les commandes Linux
3) L’historique des commandes
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 22/31 22 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide
Le Shell Linux offre plusieurs sources d’aides permettant de
comprendre le comportement des commandes et aussi de
découvrir de nouvelles commandes
Parmi les sources d’aides :
1) Les pages man
2) L’option --help
3) Les commandes d’aide (whatis , whereis et which)
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 23/31 23 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 1)Les pages man
Le manuel (man) permet de donner une description détaillée
d’une commande avec toutes ses options
Pour afficher les pages man d’une commande il faut taper :
man commande
⇒ Exemple : man cal permet d’afficher les pages du manuel
concernant la commande cal
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 24/31 24 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 1)Les pages man:La navigation
Le tableau suivant indique les raccourcis clavier permettant de
naviguer à travers une page du manuel (man)
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 25/31 25 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 1)Les pages man:Ces sections
Les pages man sont subdiviser en section chaque section donne une description
de la commande
Le tableau suivant résume les principales sections qu’on peut trouver dans une page man
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 26/31 26 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 1)Les pages man:Ces sections
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 27/31 27 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 2)L’option --help
Plusieurs commandes possède une option --help permettant
d’afficher une aide sommaire sur la commande et ses
options
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 28/31 28 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 3)Les commandes d’aide: whatis
whatis est une commande qui permet de chercher et
d’afficher les pages du manuel relatifs à un mot clé avec
une description courte de chaque page
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 29/31 29 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 3)Les commandes d’aide: whereis
whereis est une commande qui permet d’afficher
l’emplacement des commandes et des pages man relatives
à une commande
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 30/31 30 / 31
Les commandes Linux
Les commandes Linux
Utilisation des sources d’aide: 3)Les commandes d’aide: which
which est une commande qui permet d’afficher le chemin où
est stocké une commande donnée ⇒ Elle cherche dans la
variable PATH pour déterminer le chemin d’une commande
Prof. R. HANNANE (FSSM) Systèmes d’exploitation I 31/31 31 / 31