SYSTÈME
SYSTÈME
D’EXPLOITATION
D’EXPLOITATION
GNU/LINUX
GNU/LINUX
Base du système GNU/Linux et
Base du système GNU/Linux et
commandes Unix
commandes Unix
1. histoire de Linux
1. histoire de Linux
Qu'est-ce qu'UNIX ?
Qu'est-ce qu'UNIX ?
UNIX est un système d'exploitation. Ce système est né,
UNIX est un système d'exploitation. Ce système est né,
en
en 1969
1969, de la volonté de Ken Thompson et Dennis
, de la volonté de Ken Thompson et Dennis
Ritchie de faire un système d'exploitation à la fois
Ritchie de faire un système d'exploitation à la fois
multitâches et multi-utilisateurs. Il était aussi question
multitâches et multi-utilisateurs. Il était aussi question
de concevoir de petits programmes, ne faisant qu'un
de concevoir de petits programmes, ne faisant qu'un
nombre limité de tâches, mais pouvant interagir entre
nombre limité de tâches, mais pouvant interagir entre
eux. Depuis cette période, une grande quantité de
eux. Depuis cette période, une grande quantité de
systèmes d'exploitations dérivés d'UNIX a vu le jour,
systèmes d'exploitations dérivés d'UNIX a vu le jour,
certains payants, d'autres gratuits.
certains payants, d'autres gratuits.
Pourquoi UNIX ?
Pourquoi UNIX ?
C'est avec l'idée de créer un système d'exploitation
C'est avec l'idée de créer un système d'exploitation
répondant à de nouvelles attentes qu'UNIX a vu le
répondant à de nouvelles attentes qu'UNIX a vu le
jour : être
jour : être
disponible 24h/24 7j/7 était un défi à relever au niveau
disponible 24h/24 7j/7 était un défi à relever au niveau
de la gestion de la mémoire, des accès aux disques,
de la gestion de la mémoire, des accès aux disques,
etc.
etc.
Mais là où les créateurs d'UNIX innoveront réellement,
Mais là où les créateurs d'UNIX innoveront réellement,
c'est dans la réalisation du premier système
c'est dans la réalisation du premier système
d'exploitation entièrement multi-tâches et multi-
d'exploitation entièrement multi-tâches et multi-
utilisateurs, ouvrant la marche vers l'informatique
utilisateurs, ouvrant la marche vers l'informatique
telle qu'on la
telle qu'on la
connait aujourd'hui.
connait aujourd'hui.
Un ensemble de règles assurent le fonctionnement et le succès
Un ensemble de règles assurent le fonctionnement et le succès
d'UNIX, à commencer par le fameux paradigme « tout est fichier
d'UNIX, à commencer par le fameux paradigme « tout est fichier
».
».
Toutes, ou presque toutes, les fonctionnalités du système
Toutes, ou presque toutes, les fonctionnalités du système
d'exploitation sont accessibles via de simples fichiers :
d'exploitation sont accessibles via de simples fichiers :
périphériques, processus, répertoires, les pipes, la mémoire, etc... .
périphériques, processus, répertoires, les pipes, la mémoire, etc... .
Ainsi, pour qu'une application puisse communiquer avec le
Ainsi, pour qu'une application puisse communiquer avec le
système, il suffit qu'elle soit capable de lire et écrire dans un
système, il suffit qu'elle soit capable de lire et écrire dans un
fichier.
fichier.
Mais c'est surtout au niveau des méthodes de programmation
Mais c'est surtout au niveau des méthodes de programmation
qu'UNIX révolutionnera le mode de pensée de l'époque. Fini le
qu'UNIX révolutionnera le mode de pensée de l'époque. Fini le
développement isolé d'une seule équipe de programmeurs, au
développement isolé d'une seule équipe de programmeurs, au
contraire les échanges de code source et la collaboration de
contraire les échanges de code source et la collaboration de
plusieurs équipes devient sont très courant . Ce monde de
plusieurs équipes devient sont très courant . Ce monde de
fonctionnement évoluera peu à peu vers la notion de logiciel libre.
fonctionnement évoluera peu à peu vers la notion de logiciel libre.
Venons-en maintenant à Linux.
Venons-en maintenant à Linux.
Philosophie UNIX
Philosophie UNIX
En 1991, un étudiant finlandais nommé Linus
En 1991, un étudiant finlandais nommé Linus
Torvalds décide de créer un nouveau noyau
Torvalds décide de créer un nouveau noyau
basé sur Minix (un dérivé d’UNIX) afin de
basé sur Minix (un dérivé d’UNIX) afin de
contourner ses limitations et celles de MS-
contourner ses limitations et celles de MS-
DOS. Ce nouveau noyau est distribué
DOS. Ce nouveau noyau est distribué
gratuitement sur Internet en août 1991 sous le
gratuitement sur Internet en août 1991 sous le
nom : Linux. Le rôle du noyau dans un
nom : Linux. Le rôle du noyau dans un
système d'exploitation est de s'interfacer entre
système d'exploitation est de s'interfacer entre
les programmes utilisateurs et le matériel Il
les programmes utilisateurs et le matériel Il
fait donc partie du système d'exploitation mais
fait donc partie du système d'exploitation mais
ne représente pas l'OS à lui tout seul. Linux,
ne représente pas l'OS à lui tout seul. Linux,
pris de façon indépendante, ne sert donc à rien.
pris de façon indépendante, ne sert donc à rien.
Naissance de GNU/Linux
Naissance de GNU/Linux
Richard Stallman, fondateur du projet GNU,
Richard Stallman, fondateur du projet GNU,
persuade Linus Torvalds de passer Linux sous
persuade Linus Torvalds de passer Linux sous
licence GPL, ce qui permet d’utiliser ce noyau
licence GPL, ce qui permet d’utiliser ce noyau
pour le projet GNU. Un système d'exploitation
pour le projet GNU. Un système d'exploitation
complet est alors formé : il est composé du
complet est alors formé : il est composé du
noyau Linux et des outils GNU. Le nom
noyau Linux et des outils GNU. Le nom
complet de ce système est GNU/Linux
complet de ce système est GNU/Linux
De part son esprit communautaire, Linux se décline en
De part son esprit communautaire, Linux se décline en
plus d'une centaine de distributions. Toutes ces
plus d'une centaine de distributions. Toutes ces
distributions
distributions
possèdent un noyau Linux, mais différent dans la
possèdent un noyau Linux, mais différent dans la
composition des programmes qui l'entourent.
composition des programmes qui l'entourent.
Chaque distribution possède :
Chaque distribution possède :
-Un noyau Linux
-Un noyau Linux
-Des programmes, de préférence Libres
-Des programmes, de préférence Libres
-Un système de packages
-Un système de packages
-Des programmes d'installation
-Des programmes d'installation
Les distributions GNU/Linux
Les distributions GNU/Linux
Les distributions les plus connues sont Debian,
Les distributions les plus connues sont Debian,
Gentoo, RedHat, Slackware, Mandriva et
Gentoo, RedHat, Slackware, Mandriva et
SUSE. Il existe aussi un nombre considérable
SUSE. Il existe aussi un nombre considérable
de « sur-distributions » comme par exemple
de « sur-distributions » comme par exemple
Ubuntu ou Fedora qui se basent sur
Ubuntu ou Fedora qui se basent sur
respectivement sur Debian et RedHat.
respectivement sur Debian et RedHat.
2. Les Licences
Logiciels open-sources et
propriétaires
Un logiciel peut être disponible sous différentes formes, la
première est la version source c'est à dire la version écrite
dans un langage de programmation et compréhensible
par l'homme. L'autre est la version compilée, c'est la
traduction de la version source en version
compréhensible par la machine, on parle aussi de
version binaire.
Ainsi on distinguera un logiciel open-source d'un logiciel
propriétaire : le logiciel open-source met à disposition
les sources du programme tandis que le logiciel
propriétaire se cantonne à distribuer la version compilée
Logiciel Libre et licences
En 1983, Richard Stallman est alors chercheur en intelligence
artificielle En tant que chercheur, il est habitué à échanger du
code source avec ses collègues. Rencontrant quelques
problèmes avec le pilote propriétaire de son imprimante, il
essaye d'en obtenir le code source afin de le modifier et de
l'améliorer mais reçoit un refus de la part de la société
distribuant le pilote. À la suite de cette mésaventure, il décide
donc de réécrire un pilote correspondant à ses attentes et
définit ainsi les bases de la philosophie du logiciel libre. Pour
cela il énonce les quatre libertés suivantes :
• liberté d'exécution
• liberté de modification
• liberté de redistribution
• liberté d'amélioration
3.Le système d’exploitation
3.Le système d’exploitation
Architecture UNIX
Architecture UNIX
Linux est architecturé autour d'un noyau (kernel) chargé de prendre en charge le matériel
Le noyau Linux est un ensemble de petits
programmes qui permettent de gérer
l'exécution des autres applications qui tournent
sur la station.
Ces primitives gèrent l’accession à la mémoire
et, plus généralement , aux différentes
ressources de la machine .
Le
Le noyau gère les taches de base du système :
 La gestion des processus système
 La gestion des processus utilisateurs
 La gestion du processeur et de la RAM
 La gestion des systèmes de fichiers
 L'interpréteur de commandes «shell». est
l'interface entre l'utilisateur et le système
d'exploitation.
 Le shell est ainsi chargé de faire
l'intermédiaire entre le système d'exploitation
et l'utilisateur grâce aux lignes de commandes
saisies par ce dernier. Son rôle consiste ainsi à
lire la ligne de commande, interpréter sa
signification, exécuter la commande, puis
retourner le résultat sur les sorties.
 Le système de fichiers (file system) Un
système de fichiers est une façon d'organiser
et de stocker une arborescence sur un support
(disque, disquette, cd ...). Chaque OS a
développé sa propre organisation.
 Linux possède son système appelé ext2 mais
peut en gérer d'autres.
Caractéristiques de linux
Caractéristiques de linux
Système d’exploitation multitâches. Les
systèmes Unix gèrent l’exécution de plusieurs
dizaines de programmes simultanément en
utilisant la technique du temps partagé.
 Système multiutilisateurs.
Plusieurs utilisateurs pourront travailler sur le même
système central.
 Système multiprocesseurs.
Les OS Unix peuvent gérer des systèmes électroniques
ayants plusieurs processeurs. Plusieurs processus
peuvent alors s’exécuter dans le même instant .
 Système multiplateformes.
Les systèmes Unix sont programmés (écris) en grande
partie en langage C. Le code source peut, avec peu de
modifications, être compilé pour des systèmes
équipés de processeurs de différentes architectures.
Le rôle de l’administrateur
Le rôle de l’administrateur
 Créer, modifier, supprimer un utilisateur.
L’administrateur doit gérer les comptes des
utilisateurs. Outre la création et la suppression
des comptes qui s’effectuent avec des
commandes standard, il doit être capable de
modifier l’environnement de travail des
utilisateurs. Cette dernière opération recouvre
un large éventail d’actions : changement du
mot de passe, appropriation de fichiers,…
 Gérer les fichiers et les disques
La gestion des fichiers et des disques comprend
principalement les actions suivantes :
· Contrôler à l’intégrité des systèmes de fichiers.
· Organiser l’arborescence.
· Protéger l’arborescence en contrôlant les droits sur
les fichiers.
· Gérer les disques (initialisation,
partitionnement,...).
 Ajouter un périphérique
L’ajout d’un périphérique amène à savoir créer un
fichier spécial pour ce périphérique ,ajouter
éventuellement un pilote de périphérique au noyau
 Améliorer les performances du système
Le rôle de l’administrateur est aussi de surveiller et
d’améliorer les performances du système en sachant
paramétrer les ressources utilisées par le noyau pour
son propre fonctionnement ou les services offerts aux
processus.
 Veiller à la sécurité du système
L’administrateur doit veiller à la sécurité en utilisant les
moyens standard que lui fournit le système UNIX.
 Paramétrer le démarrage et l’arrêt du système
L’administrateur doit être capable de paramétrer l’arrêt
et le démarrage du système pour automatiser le
démarrage des nouveaux services et produits.
Terminaux et interpréteur de
Terminaux et interpréteur de
commande
commande
Cette ligne de commande est accessible via les
terminaux qui jouent le rôle d'interface entre
l’utilisateur et la machine. Dans ce terminal,
l’utilisateur interagit avec le système en
utilisant un interpréteur de commandes : le
shell.
4.Définition et rôle du shell bash
4.Définition et rôle du shell bash
Qu’appelle t’on un shell ?
Qu’appelle t’on un shell ?
Un shell est la liaison la plus élémentaire entre
Un shell est la liaison la plus élémentaire entre
l’utilisateur et le système d’exploitation, c’est à dire
l’utilisateur et le système d’exploitation, c’est à dire
le programme de gestion de la ligne de commande.
le programme de gestion de la ligne de commande.
Les commandes saisies sont interprétées par le shell
Les commandes saisies sont interprétées par le shell
et transmises au système d’exploitation.
et transmises au système d’exploitation.
De nombreuses commandes du shell ressemblent aux
De nombreuses commandes du shell ressemblent aux
commandes
commandes MS−DOS
MS−DOS : en utilisant la
: en utilisant la
terminologie
terminologie Linux
Linux, nous pouvons considérer que le
, nous pouvons considérer que le
programme
programme command.com
command.com correspond au shell de
correspond au shell de
MS−DOS.
MS−DOS.
Shell est à rapprocher du mot
Shell est à rapprocher du mot kernel
kernel : le kernel,
: le kernel,
signifiant noyau, est souvent entouré d’une
signifiant noyau, est souvent entouré d’une
coquille dure (pensez à un noyau d’abricot ou
coquille dure (pensez à un noyau d’abricot ou
de pêche). shell signifiant
de pêche). shell signifiant coquille
coquille, c’est donc
, c’est donc
ce qui « entoure » le
ce qui « entoure » le noyau
noyau Linux : le moyen
Linux : le moyen
de l’utiliser à l’aide de commandes. C’est donc
de l’utiliser à l’aide de commandes. C’est donc
une interface fonctionnant en mode texte entre
une interface fonctionnant en mode texte entre
le noyau Linux et les utilisateurs (avancés),
le noyau Linux et les utilisateurs (avancés),
voire les applications.
voire les applications.

l existe plusieurs shells, chacun disposant de spécificités propres.
l existe plusieurs shells, chacun disposant de spécificités propres.
Le
Le Bourne Shell
Bourne Shell (
(sh
sh) est le shell le plus connu et le plus courant
) est le shell le plus connu et le plus courant
sur les Unix. Le
sur les Unix. Le C-Shell
C-Shell (
(csh
csh) reprend la structure du langage C.
) reprend la structure du langage C.
Le
Le Korn Shell
Korn Shell (
(ksh
ksh) est une évolution du Bourne Shell. Le
) est une évolution du Bourne Shell. Le Z-
Z-
Shell
Shell (
(zsh
zsh) est lui-même une évolution du Korn Shell. Le shell
) est lui-même une évolution du Korn Shell. Le shell
de référence sous Linux se nomme le
de référence sous Linux se nomme le Boume Again
Boume Again
Shell
Shell (
(bash
bash). Voici une liste non exhaustive d’interpréteurs de
). Voici une liste non exhaustive d’interpréteurs de
commandes que vous pouvez rencontrer sous Linux :
commandes que vous pouvez rencontrer sous Linux :

sh :
sh : Thompson Shell (n’existe plus) ;
Thompson Shell (n’existe plus) ;

sh :
sh : Bourne Shell (a remplacé le précédent) ;
Bourne Shell (a remplacé le précédent) ;

bash :
bash : Bourne Again Shell ;
Bourne Again Shell ;

ksh :
ksh : Korn Shell ;
Korn Shell ;

csh :
csh : C Shell ;
C Shell ;

zsh :
zsh : Z Shell ;
Z Shell ;

tcsh :
tcsh : Tenex C Shell ;
Tenex C Shell ;

ash
ash : A Shell ;
: A Shell ;

dash :
dash : Debian Almquist Shell.
Debian Almquist Shell.

La liste des shells actuellement présents sur
La liste des shells actuellement présents sur
votre installation Linux est présente dans le
votre installation Linux est présente dans le
fichier
fichier /etc/shells
/etc/shells
vous pouvez consulter cette liste en tapant la
vous pouvez consulter cette liste en tapant la
commande suivante :
commande suivante : more /etc/shells
more /etc/shells comme
comme
l’illustre l’image ci-dessous:
l’illustre l’image ci-dessous:
zineb@ubuntu:~$ more /etc/shells
zineb@ubuntu:~$ more /etc/shells
# /etc/shells: valid login shells
# /etc/shells: valid login shells
/bin/csh
/bin/csh
/bin/sh
/bin/sh
/usr/bin/es
/usr/bin/es
/usr/bin/ksh
/usr/bin/ksh
/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/rc
/usr/bin/tcsh
/usr/bin/tcsh
/bin/tcsh
/bin/tcsh
/usr/bin/esh
/usr/bin/esh
/bin/dash
/bin/dash
/bin/bash
/bin/bash
/bin/rbash
/bin/rbash
/usr/bin/screen
/usr/bin/screen
Bash : le shell par défaut
Bash : le shell par défaut
Le bash n’est pas présent que sous Linux. Étant un
Le bash n’est pas présent que sous Linux. Étant un
logiciel libre, il peut être compilé et exécuté sur de
logiciel libre, il peut être compilé et exécuté sur de
nombreuses plates-formes. C’est le shell de référence
nombreuses plates-formes. C’est le shell de référence
sur les systèmes MacOS et il existe aussi pour
sur les systèmes MacOS et il existe aussi pour
Windows.
Windows.
Le shell fonctionne au sein d’un terminal. Un
Le shell fonctionne au sein d’un terminal. Un
terminal est originellement une véritable machine ne
terminal est originellement une véritable machine ne
disposant que du nécessaire pour saisir des
disposant que du nécessaire pour saisir des
instructions (le clavier) et visualiser les résultats (un
instructions (le clavier) et visualiser les résultats (un
écran, voire il y a très longtemps une simple
écran, voire il y a très longtemps une simple
imprimante à papier listing)
imprimante à papier listing)
 Le shell fonctionne au sein d’un terminal. Il attend
Le shell fonctionne au sein d’un terminal. Il attend
des saisies au clavier dans la console ou la fenêtre, et
des saisies au clavier dans la console ou la fenêtre, et
affiche ses résultats au même endroit. Tout utilisateur
affiche ses résultats au même endroit. Tout utilisateur
avancé de Linux et d’Unix en général a au moins un
avancé de Linux et d’Unix en général a au moins un
terminal ouvert en quasi-permanence. L’ouverture
terminal ouvert en quasi-permanence. L’ouverture
d’un terminal (ou console, dans ce cas ces mots sont
d’un terminal (ou console, dans ce cas ces mots sont
synonymes) lance automatiquement le shell par
synonymes) lance automatiquement le shell par
défaut.
défaut.

L’invite de commande
L’invite de commande
Le shell attend des entrées au clavier sur une ligne
Le shell attend des entrées au clavier sur une ligne
appelée l’invite de commande ou prompt. Un curseur,
appelée l’invite de commande ou prompt. Un curseur,
qui peut être représenté par un rectangle fixe,
qui peut être représenté par un rectangle fixe,
clignotant ou un caractère souligné, indique la
clignotant ou un caractère souligné, indique la
position actuelle de votre saisie.
position actuelle de votre saisie.
L’invite (prompt) fournit des informations sur le
L’invite (prompt) fournit des informations sur le
terminal et votre position dans le système de fichiers.
terminal et votre position dans le système de fichiers.
zineb@ubuntu:~$
zineb@ubuntu:~$
Dans cette invite tout à fait classique, vous trouvez quatre
Dans cette invite tout à fait classique, vous trouvez quatre
informations :
informations :
zineb
zineb : c’est le nom de connexion, ou login de l’utilisateur,
: c’est le nom de connexion, ou login de l’utilisateur,
actuellement connecté au terminal ;
actuellement connecté au terminal ;
ubuntu
ubuntu : c’est le nom d’hôte (hostname), le nom logique de la
: c’est le nom d’hôte (hostname), le nom logique de la
machine raccordée au terminal ;
machine raccordée au terminal ;
~ :/home/public
~ :/home/public : c’est la position actuelle du shell dans le
: c’est la position actuelle du shell dans le
système de fichiers ;
système de fichiers ;
$
$ : c’est la terminaison standard du bash pour un utilisateur sans
: c’est la terminaison standard du bash pour un utilisateur sans
pouvoirs.
pouvoirs.
Cette invite vous informe que c’est l’utilisateur sans pouvoirs
Cette invite vous informe que c’est l’utilisateur sans pouvoirs
d’administration
d’administration zineb
zineb qui utilise le terminal (est connecté) sur
qui utilise le terminal (est connecté) sur
la machine
la machine ubuntu
ubuntu et qu’il est actuellement positionné
et qu’il est actuellement positionné
dans
dans /home/public
/home/public.
.

Le caractère de terminaison peut avoir d’autres
Le caractère de terminaison peut avoir d’autres
significations :
significations :

un
un $
$ indique que l’utilisateur n’a pas de
indique que l’utilisateur n’a pas de
pouvoirs particuliers.
pouvoirs particuliers.
 un
un #
# indique que l’utilisateur est
indique que l’utilisateur est
l’administrateur root qui a tous les pouvoirs.
l’administrateur root qui a tous les pouvoirs.
Le chemin peut varier :
Le chemin peut varier :
zineb@ubuntu:~
zineb@ubuntu:~ $
$ le caractère tilde
le caractère tilde ~
~ indique
indique
que vous êtes dans votre répertoire personnel.
que vous êtes dans votre répertoire personnel.
zineb@ubuntu:~/test $
zineb@ubuntu:~/test $ : le
: le ~
~ se rapportant à
se rapportant à
votre répertoire personnel, vous êtes dans le
votre répertoire personnel, vous êtes dans le
répertoire test au sein de celui-ci.
répertoire test au sein de celui-ci.
Dans la suite, l’invite de commande sera
Dans la suite, l’invite de commande sera
généralement remplacé par un simple dollar,
généralement remplacé par un simple dollar, $
$,
,
ceci afin de gagner de la place sur la ligne de
ceci afin de gagner de la place sur la ligne de
commande.
commande.
Utiliser le shell
Utiliser le shell
a. La saisie
a. La saisie
Dans le terminal, le clavier s’utilise comme
Dans le terminal, le clavier s’utilise comme
d’habitude. Vous pouvez vous déplacer sur la
d’habitude. Vous pouvez vous déplacer sur la
ligne avec les flèches de droite et de gauche du
ligne avec les flèches de droite et de gauche du
clavier et effacer des caractères avec les
clavier et effacer des caractères avec les
touches [Retour arrière] et [Suppr]. Vous
touches [Retour arrière] et [Suppr]. Vous
lancez l’exécution de la commande que vous
lancez l’exécution de la commande que vous
avez saisi en appuyant sur la touche [Entrée].
avez saisi en appuyant sur la touche [Entrée].
Il est temps de tester quelques commandes. La
Il est temps de tester quelques commandes. La
commande date indique la
commande date indique la date
date et l’heure
et l’heure
actuelles. Vous
actuelles. Vous
n’obtiendrez évidemment pas le même
n’obtiendrez évidemment pas le même
résultat, et pas toujours dans la même langue,
résultat, et pas toujours dans la même langue,
selon votre installation Linux.
selon votre installation Linux.
Une commande pratique,
Une commande pratique, pwd
pwd, permet de savoir
, permet de savoir
à quel endroit vous vous situez dans les
à quel endroit vous vous situez dans les
répertoires.
répertoires.
Le shell indique qu’il est actuellement positionné
Le shell indique qu’il est actuellement positionné
dans le répertoire
dans le répertoire /home/zineb/Music/
/home/zineb/Music/.
.
Syntaxe générale des commandes
Syntaxe générale des commandes

Les commandes ou instructions (les deux mots
Les commandes ou instructions (les deux mots
sont synonymes dans ce cas) GNU ont très
sont synonymes dans ce cas) GNU ont très
souvent une syntaxe reprenant la même
souvent une syntaxe reprenant la même
structure :
structure :
Commande [paramètres] [arguments]
Commande [paramètres] [arguments]
Une commande peut avoir ni paramètres, ni
Une commande peut avoir ni paramètres, ni
arguments. Dans ce cas elle exécute l’action
arguments. Dans ce cas elle exécute l’action
par défaut pour laquelle elle est programmée,
par défaut pour laquelle elle est programmée,
ou affiche un message d’erreur si ceux-ci sont
ou affiche un message d’erreur si ceux-ci sont
nécessaires.
nécessaires.
Un paramètre est une option de la commande. Les deux
Un paramètre est une option de la commande. Les deux
mots sont ici synonymes. C’est souvent une simple
mots sont ici synonymes. C’est souvent une simple
lettre ou un simple chiffre précédé d’un tiret :
lettre ou un simple chiffre précédé d’un tiret : -1, -p, -
-1, -p, -
s,
s, etc. Si la commande accepte plusieurs paramètres,
etc. Si la commande accepte plusieurs paramètres,
vous les saisissez les uns après les autres en les
vous les saisissez les uns après les autres en les
séparant par des espaces :
séparant par des espaces : -1 -r -t
-1 -r -t, ou en écrivant
, ou en écrivant
qu’un seul tiret puis tous les paramètres :
qu’un seul tiret puis tous les paramètres : -lrt
-lrt. Les
. Les
deux syntaxes sont acceptées et produisent le même
deux syntaxes sont acceptées et produisent le même
résultat. La seconde est seulement plus courte.
résultat. La seconde est seulement plus courte.
Dans certains cas un paramètre nécessite un
Dans certains cas un paramètre nécessite un
argument, par exemple un nom de fichier.
argument, par exemple un nom de fichier.
Dans ce cas il est préférable de séparer ce
Dans ce cas il est préférable de séparer ce
paramètre des autres :
paramètre des autres : -lrt -f monfichier
-lrt -f monfichier.
.
Les arguments sont les entités sur lesquelles la
Les arguments sont les entités sur lesquelles la
commande doit exécuter son action. Leur type
commande doit exécuter son action. Leur type
dépend de la commande. Ce peut être un
dépend de la commande. Ce peut être un
fichier, du texte, des nombres, etc.
fichier, du texte, des nombres, etc.
Premier exemple concret avec cal
Premier exemple concret avec cal
Prenez l’exemple de la commande cal. Celle-ci
Prenez l’exemple de la commande cal. Celle-ci
admet plusieurs paramètres et arguments.
admet plusieurs paramètres et arguments.
Appelée seule, elle affiche le calendrier du
Appelée seule, elle affiche le calendrier du
mois en cours et surligne le jour actuel.
mois en cours et surligne le jour actuel.
La commande
La commande cal
cal admet deux arguments optionnels. Si un seul
admet deux arguments optionnels. Si un seul
est précisé, il s’agit de l’année, et l’intégralité du calendrier de
est précisé, il s’agit de l’année, et l’intégralité du calendrier de
cette année est affichée. Si deux arguments sont précisés, le
cette année est affichée. Si deux arguments sont précisés, le
premier est le mois (par exemple
premier est le mois (par exemple 10
10), le second l’année (par
), le second l’année (par
exemple
exemple 1958
1958).
).

Un second paramètre -3 permet d’afficher les mois précédant
Un second paramètre -3 permet d’afficher les mois précédant
et suivant le mois précisé (faites l’exemple).
et suivant le mois précisé (faites l’exemple).
Chaîner les commandes
Chaîner les commandes
Vous pouvez exécuter plusieurs commandes sur
Vous pouvez exécuter plusieurs commandes sur
une seule ligne, les unes après les autres. Pour
une seule ligne, les unes après les autres. Pour
cela il suffit de les séparer avec un point-
cela il suffit de les séparer avec un point-
virgule.
virgule.
$ cal;date;ls -l;pwd
$ cal;date;ls -l;pwd
cours initiataion sous le Linux_Cours.ppt
cours initiataion sous le Linux_Cours.ppt
cours initiataion sous le Linux_Cours.ppt

cours initiataion sous le Linux_Cours.ppt

  • 1.
    SYSTÈME SYSTÈME D’EXPLOITATION D’EXPLOITATION GNU/LINUX GNU/LINUX Base du systèmeGNU/Linux et Base du système GNU/Linux et commandes Unix commandes Unix
  • 2.
    1. histoire deLinux 1. histoire de Linux
  • 3.
    Qu'est-ce qu'UNIX ? Qu'est-cequ'UNIX ? UNIX est un système d'exploitation. Ce système est né, UNIX est un système d'exploitation. Ce système est né, en en 1969 1969, de la volonté de Ken Thompson et Dennis , de la volonté de Ken Thompson et Dennis Ritchie de faire un système d'exploitation à la fois Ritchie de faire un système d'exploitation à la fois multitâches et multi-utilisateurs. Il était aussi question multitâches et multi-utilisateurs. Il était aussi question de concevoir de petits programmes, ne faisant qu'un de concevoir de petits programmes, ne faisant qu'un nombre limité de tâches, mais pouvant interagir entre nombre limité de tâches, mais pouvant interagir entre eux. Depuis cette période, une grande quantité de eux. Depuis cette période, une grande quantité de systèmes d'exploitations dérivés d'UNIX a vu le jour, systèmes d'exploitations dérivés d'UNIX a vu le jour, certains payants, d'autres gratuits. certains payants, d'autres gratuits.
  • 4.
    Pourquoi UNIX ? PourquoiUNIX ? C'est avec l'idée de créer un système d'exploitation C'est avec l'idée de créer un système d'exploitation répondant à de nouvelles attentes qu'UNIX a vu le répondant à de nouvelles attentes qu'UNIX a vu le jour : être jour : être disponible 24h/24 7j/7 était un défi à relever au niveau disponible 24h/24 7j/7 était un défi à relever au niveau de la gestion de la mémoire, des accès aux disques, de la gestion de la mémoire, des accès aux disques, etc. etc. Mais là où les créateurs d'UNIX innoveront réellement, Mais là où les créateurs d'UNIX innoveront réellement, c'est dans la réalisation du premier système c'est dans la réalisation du premier système d'exploitation entièrement multi-tâches et multi- d'exploitation entièrement multi-tâches et multi- utilisateurs, ouvrant la marche vers l'informatique utilisateurs, ouvrant la marche vers l'informatique telle qu'on la telle qu'on la connait aujourd'hui. connait aujourd'hui.
  • 5.
    Un ensemble derègles assurent le fonctionnement et le succès Un ensemble de règles assurent le fonctionnement et le succès d'UNIX, à commencer par le fameux paradigme « tout est fichier d'UNIX, à commencer par le fameux paradigme « tout est fichier ». ». Toutes, ou presque toutes, les fonctionnalités du système Toutes, ou presque toutes, les fonctionnalités du système d'exploitation sont accessibles via de simples fichiers : d'exploitation sont accessibles via de simples fichiers : périphériques, processus, répertoires, les pipes, la mémoire, etc... . périphériques, processus, répertoires, les pipes, la mémoire, etc... . Ainsi, pour qu'une application puisse communiquer avec le Ainsi, pour qu'une application puisse communiquer avec le système, il suffit qu'elle soit capable de lire et écrire dans un système, il suffit qu'elle soit capable de lire et écrire dans un fichier. fichier. Mais c'est surtout au niveau des méthodes de programmation Mais c'est surtout au niveau des méthodes de programmation qu'UNIX révolutionnera le mode de pensée de l'époque. Fini le qu'UNIX révolutionnera le mode de pensée de l'époque. Fini le développement isolé d'une seule équipe de programmeurs, au développement isolé d'une seule équipe de programmeurs, au contraire les échanges de code source et la collaboration de contraire les échanges de code source et la collaboration de plusieurs équipes devient sont très courant . Ce monde de plusieurs équipes devient sont très courant . Ce monde de fonctionnement évoluera peu à peu vers la notion de logiciel libre. fonctionnement évoluera peu à peu vers la notion de logiciel libre. Venons-en maintenant à Linux. Venons-en maintenant à Linux. Philosophie UNIX Philosophie UNIX
  • 6.
    En 1991, unétudiant finlandais nommé Linus En 1991, un étudiant finlandais nommé Linus Torvalds décide de créer un nouveau noyau Torvalds décide de créer un nouveau noyau basé sur Minix (un dérivé d’UNIX) afin de basé sur Minix (un dérivé d’UNIX) afin de contourner ses limitations et celles de MS- contourner ses limitations et celles de MS- DOS. Ce nouveau noyau est distribué DOS. Ce nouveau noyau est distribué gratuitement sur Internet en août 1991 sous le gratuitement sur Internet en août 1991 sous le nom : Linux. Le rôle du noyau dans un nom : Linux. Le rôle du noyau dans un système d'exploitation est de s'interfacer entre système d'exploitation est de s'interfacer entre les programmes utilisateurs et le matériel Il les programmes utilisateurs et le matériel Il fait donc partie du système d'exploitation mais fait donc partie du système d'exploitation mais ne représente pas l'OS à lui tout seul. Linux, ne représente pas l'OS à lui tout seul. Linux, pris de façon indépendante, ne sert donc à rien. pris de façon indépendante, ne sert donc à rien. Naissance de GNU/Linux Naissance de GNU/Linux
  • 7.
    Richard Stallman, fondateurdu projet GNU, Richard Stallman, fondateur du projet GNU, persuade Linus Torvalds de passer Linux sous persuade Linus Torvalds de passer Linux sous licence GPL, ce qui permet d’utiliser ce noyau licence GPL, ce qui permet d’utiliser ce noyau pour le projet GNU. Un système d'exploitation pour le projet GNU. Un système d'exploitation complet est alors formé : il est composé du complet est alors formé : il est composé du noyau Linux et des outils GNU. Le nom noyau Linux et des outils GNU. Le nom complet de ce système est GNU/Linux complet de ce système est GNU/Linux
  • 8.
    De part sonesprit communautaire, Linux se décline en De part son esprit communautaire, Linux se décline en plus d'une centaine de distributions. Toutes ces plus d'une centaine de distributions. Toutes ces distributions distributions possèdent un noyau Linux, mais différent dans la possèdent un noyau Linux, mais différent dans la composition des programmes qui l'entourent. composition des programmes qui l'entourent. Chaque distribution possède : Chaque distribution possède : -Un noyau Linux -Un noyau Linux -Des programmes, de préférence Libres -Des programmes, de préférence Libres -Un système de packages -Un système de packages -Des programmes d'installation -Des programmes d'installation Les distributions GNU/Linux Les distributions GNU/Linux
  • 9.
    Les distributions lesplus connues sont Debian, Les distributions les plus connues sont Debian, Gentoo, RedHat, Slackware, Mandriva et Gentoo, RedHat, Slackware, Mandriva et SUSE. Il existe aussi un nombre considérable SUSE. Il existe aussi un nombre considérable de « sur-distributions » comme par exemple de « sur-distributions » comme par exemple Ubuntu ou Fedora qui se basent sur Ubuntu ou Fedora qui se basent sur respectivement sur Debian et RedHat. respectivement sur Debian et RedHat.
  • 10.
  • 11.
    Logiciels open-sources et propriétaires Unlogiciel peut être disponible sous différentes formes, la première est la version source c'est à dire la version écrite dans un langage de programmation et compréhensible par l'homme. L'autre est la version compilée, c'est la traduction de la version source en version compréhensible par la machine, on parle aussi de version binaire. Ainsi on distinguera un logiciel open-source d'un logiciel propriétaire : le logiciel open-source met à disposition les sources du programme tandis que le logiciel propriétaire se cantonne à distribuer la version compilée
  • 12.
    Logiciel Libre etlicences En 1983, Richard Stallman est alors chercheur en intelligence artificielle En tant que chercheur, il est habitué à échanger du code source avec ses collègues. Rencontrant quelques problèmes avec le pilote propriétaire de son imprimante, il essaye d'en obtenir le code source afin de le modifier et de l'améliorer mais reçoit un refus de la part de la société distribuant le pilote. À la suite de cette mésaventure, il décide donc de réécrire un pilote correspondant à ses attentes et définit ainsi les bases de la philosophie du logiciel libre. Pour cela il énonce les quatre libertés suivantes : • liberté d'exécution • liberté de modification • liberté de redistribution • liberté d'amélioration
  • 14.
    3.Le système d’exploitation 3.Lesystème d’exploitation
  • 15.
    Architecture UNIX Architecture UNIX Linuxest architecturé autour d'un noyau (kernel) chargé de prendre en charge le matériel
  • 16.
    Le noyau Linuxest un ensemble de petits programmes qui permettent de gérer l'exécution des autres applications qui tournent sur la station. Ces primitives gèrent l’accession à la mémoire et, plus généralement , aux différentes ressources de la machine .
  • 17.
    Le Le noyau gèreles taches de base du système :  La gestion des processus système  La gestion des processus utilisateurs  La gestion du processeur et de la RAM  La gestion des systèmes de fichiers
  • 18.
     L'interpréteur decommandes «shell». est l'interface entre l'utilisateur et le système d'exploitation.  Le shell est ainsi chargé de faire l'intermédiaire entre le système d'exploitation et l'utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de commande, interpréter sa signification, exécuter la commande, puis retourner le résultat sur les sorties.
  • 19.
     Le systèmede fichiers (file system) Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque, disquette, cd ...). Chaque OS a développé sa propre organisation.  Linux possède son système appelé ext2 mais peut en gérer d'autres.
  • 20.
    Caractéristiques de linux Caractéristiquesde linux Système d’exploitation multitâches. Les systèmes Unix gèrent l’exécution de plusieurs dizaines de programmes simultanément en utilisant la technique du temps partagé.
  • 21.
     Système multiutilisateurs. Plusieursutilisateurs pourront travailler sur le même système central.  Système multiprocesseurs. Les OS Unix peuvent gérer des systèmes électroniques ayants plusieurs processeurs. Plusieurs processus peuvent alors s’exécuter dans le même instant .  Système multiplateformes. Les systèmes Unix sont programmés (écris) en grande partie en langage C. Le code source peut, avec peu de modifications, être compilé pour des systèmes équipés de processeurs de différentes architectures.
  • 22.
    Le rôle del’administrateur Le rôle de l’administrateur  Créer, modifier, supprimer un utilisateur. L’administrateur doit gérer les comptes des utilisateurs. Outre la création et la suppression des comptes qui s’effectuent avec des commandes standard, il doit être capable de modifier l’environnement de travail des utilisateurs. Cette dernière opération recouvre un large éventail d’actions : changement du mot de passe, appropriation de fichiers,…
  • 23.
     Gérer lesfichiers et les disques La gestion des fichiers et des disques comprend principalement les actions suivantes : · Contrôler à l’intégrité des systèmes de fichiers. · Organiser l’arborescence. · Protéger l’arborescence en contrôlant les droits sur les fichiers. · Gérer les disques (initialisation, partitionnement,...).
  • 24.
     Ajouter unpériphérique L’ajout d’un périphérique amène à savoir créer un fichier spécial pour ce périphérique ,ajouter éventuellement un pilote de périphérique au noyau  Améliorer les performances du système Le rôle de l’administrateur est aussi de surveiller et d’améliorer les performances du système en sachant paramétrer les ressources utilisées par le noyau pour son propre fonctionnement ou les services offerts aux processus.
  • 25.
     Veiller àla sécurité du système L’administrateur doit veiller à la sécurité en utilisant les moyens standard que lui fournit le système UNIX.  Paramétrer le démarrage et l’arrêt du système L’administrateur doit être capable de paramétrer l’arrêt et le démarrage du système pour automatiser le démarrage des nouveaux services et produits.
  • 26.
    Terminaux et interpréteurde Terminaux et interpréteur de commande commande
  • 27.
    Cette ligne decommande est accessible via les terminaux qui jouent le rôle d'interface entre l’utilisateur et la machine. Dans ce terminal, l’utilisateur interagit avec le système en utilisant un interpréteur de commandes : le shell.
  • 28.
    4.Définition et rôledu shell bash 4.Définition et rôle du shell bash
  • 29.
    Qu’appelle t’on unshell ? Qu’appelle t’on un shell ? Un shell est la liaison la plus élémentaire entre Un shell est la liaison la plus élémentaire entre l’utilisateur et le système d’exploitation, c’est à dire l’utilisateur et le système d’exploitation, c’est à dire le programme de gestion de la ligne de commande. le programme de gestion de la ligne de commande. Les commandes saisies sont interprétées par le shell Les commandes saisies sont interprétées par le shell et transmises au système d’exploitation. et transmises au système d’exploitation. De nombreuses commandes du shell ressemblent aux De nombreuses commandes du shell ressemblent aux commandes commandes MS−DOS MS−DOS : en utilisant la : en utilisant la terminologie terminologie Linux Linux, nous pouvons considérer que le , nous pouvons considérer que le programme programme command.com command.com correspond au shell de correspond au shell de MS−DOS. MS−DOS.
  • 30.
    Shell est àrapprocher du mot Shell est à rapprocher du mot kernel kernel : le kernel, : le kernel, signifiant noyau, est souvent entouré d’une signifiant noyau, est souvent entouré d’une coquille dure (pensez à un noyau d’abricot ou coquille dure (pensez à un noyau d’abricot ou de pêche). shell signifiant de pêche). shell signifiant coquille coquille, c’est donc , c’est donc ce qui « entoure » le ce qui « entoure » le noyau noyau Linux : le moyen Linux : le moyen de l’utiliser à l’aide de commandes. C’est donc de l’utiliser à l’aide de commandes. C’est donc une interface fonctionnant en mode texte entre une interface fonctionnant en mode texte entre le noyau Linux et les utilisateurs (avancés), le noyau Linux et les utilisateurs (avancés), voire les applications. voire les applications.
  • 31.
     l existe plusieursshells, chacun disposant de spécificités propres. l existe plusieurs shells, chacun disposant de spécificités propres. Le Le Bourne Shell Bourne Shell ( (sh sh) est le shell le plus connu et le plus courant ) est le shell le plus connu et le plus courant sur les Unix. Le sur les Unix. Le C-Shell C-Shell ( (csh csh) reprend la structure du langage C. ) reprend la structure du langage C. Le Le Korn Shell Korn Shell ( (ksh ksh) est une évolution du Bourne Shell. Le ) est une évolution du Bourne Shell. Le Z- Z- Shell Shell ( (zsh zsh) est lui-même une évolution du Korn Shell. Le shell ) est lui-même une évolution du Korn Shell. Le shell de référence sous Linux se nomme le de référence sous Linux se nomme le Boume Again Boume Again Shell Shell ( (bash bash). Voici une liste non exhaustive d’interpréteurs de ). Voici une liste non exhaustive d’interpréteurs de commandes que vous pouvez rencontrer sous Linux : commandes que vous pouvez rencontrer sous Linux :  sh : sh : Thompson Shell (n’existe plus) ; Thompson Shell (n’existe plus) ;  sh : sh : Bourne Shell (a remplacé le précédent) ; Bourne Shell (a remplacé le précédent) ;  bash : bash : Bourne Again Shell ; Bourne Again Shell ;  ksh : ksh : Korn Shell ; Korn Shell ;  csh : csh : C Shell ; C Shell ;  zsh : zsh : Z Shell ; Z Shell ;  tcsh : tcsh : Tenex C Shell ; Tenex C Shell ;  ash ash : A Shell ; : A Shell ;  dash : dash : Debian Almquist Shell. Debian Almquist Shell.
  • 32.
     La liste desshells actuellement présents sur La liste des shells actuellement présents sur votre installation Linux est présente dans le votre installation Linux est présente dans le fichier fichier /etc/shells /etc/shells vous pouvez consulter cette liste en tapant la vous pouvez consulter cette liste en tapant la commande suivante : commande suivante : more /etc/shells more /etc/shells comme comme l’illustre l’image ci-dessous: l’illustre l’image ci-dessous:
  • 33.
    zineb@ubuntu:~$ more /etc/shells zineb@ubuntu:~$more /etc/shells # /etc/shells: valid login shells # /etc/shells: valid login shells /bin/csh /bin/csh /bin/sh /bin/sh /usr/bin/es /usr/bin/es /usr/bin/ksh /usr/bin/ksh /bin/ksh /bin/ksh /usr/bin/rc /usr/bin/rc /usr/bin/tcsh /usr/bin/tcsh /bin/tcsh /bin/tcsh /usr/bin/esh /usr/bin/esh /bin/dash /bin/dash /bin/bash /bin/bash /bin/rbash /bin/rbash /usr/bin/screen /usr/bin/screen
  • 34.
    Bash : leshell par défaut Bash : le shell par défaut Le bash n’est pas présent que sous Linux. Étant un Le bash n’est pas présent que sous Linux. Étant un logiciel libre, il peut être compilé et exécuté sur de logiciel libre, il peut être compilé et exécuté sur de nombreuses plates-formes. C’est le shell de référence nombreuses plates-formes. C’est le shell de référence sur les systèmes MacOS et il existe aussi pour sur les systèmes MacOS et il existe aussi pour Windows. Windows. Le shell fonctionne au sein d’un terminal. Un Le shell fonctionne au sein d’un terminal. Un terminal est originellement une véritable machine ne terminal est originellement une véritable machine ne disposant que du nécessaire pour saisir des disposant que du nécessaire pour saisir des instructions (le clavier) et visualiser les résultats (un instructions (le clavier) et visualiser les résultats (un écran, voire il y a très longtemps une simple écran, voire il y a très longtemps une simple imprimante à papier listing) imprimante à papier listing)
  • 35.
     Le shellfonctionne au sein d’un terminal. Il attend Le shell fonctionne au sein d’un terminal. Il attend des saisies au clavier dans la console ou la fenêtre, et des saisies au clavier dans la console ou la fenêtre, et affiche ses résultats au même endroit. Tout utilisateur affiche ses résultats au même endroit. Tout utilisateur avancé de Linux et d’Unix en général a au moins un avancé de Linux et d’Unix en général a au moins un terminal ouvert en quasi-permanence. L’ouverture terminal ouvert en quasi-permanence. L’ouverture d’un terminal (ou console, dans ce cas ces mots sont d’un terminal (ou console, dans ce cas ces mots sont synonymes) lance automatiquement le shell par synonymes) lance automatiquement le shell par défaut. défaut. 
  • 36.
    L’invite de commande L’invitede commande Le shell attend des entrées au clavier sur une ligne Le shell attend des entrées au clavier sur une ligne appelée l’invite de commande ou prompt. Un curseur, appelée l’invite de commande ou prompt. Un curseur, qui peut être représenté par un rectangle fixe, qui peut être représenté par un rectangle fixe, clignotant ou un caractère souligné, indique la clignotant ou un caractère souligné, indique la position actuelle de votre saisie. position actuelle de votre saisie. L’invite (prompt) fournit des informations sur le L’invite (prompt) fournit des informations sur le terminal et votre position dans le système de fichiers. terminal et votre position dans le système de fichiers. zineb@ubuntu:~$ zineb@ubuntu:~$
  • 37.
    Dans cette invitetout à fait classique, vous trouvez quatre Dans cette invite tout à fait classique, vous trouvez quatre informations : informations : zineb zineb : c’est le nom de connexion, ou login de l’utilisateur, : c’est le nom de connexion, ou login de l’utilisateur, actuellement connecté au terminal ; actuellement connecté au terminal ; ubuntu ubuntu : c’est le nom d’hôte (hostname), le nom logique de la : c’est le nom d’hôte (hostname), le nom logique de la machine raccordée au terminal ; machine raccordée au terminal ; ~ :/home/public ~ :/home/public : c’est la position actuelle du shell dans le : c’est la position actuelle du shell dans le système de fichiers ; système de fichiers ; $ $ : c’est la terminaison standard du bash pour un utilisateur sans : c’est la terminaison standard du bash pour un utilisateur sans pouvoirs. pouvoirs. Cette invite vous informe que c’est l’utilisateur sans pouvoirs Cette invite vous informe que c’est l’utilisateur sans pouvoirs d’administration d’administration zineb zineb qui utilise le terminal (est connecté) sur qui utilise le terminal (est connecté) sur la machine la machine ubuntu ubuntu et qu’il est actuellement positionné et qu’il est actuellement positionné dans dans /home/public /home/public. .
  • 38.
     Le caractère determinaison peut avoir d’autres Le caractère de terminaison peut avoir d’autres significations : significations :  un un $ $ indique que l’utilisateur n’a pas de indique que l’utilisateur n’a pas de pouvoirs particuliers. pouvoirs particuliers.  un un # # indique que l’utilisateur est indique que l’utilisateur est l’administrateur root qui a tous les pouvoirs. l’administrateur root qui a tous les pouvoirs. Le chemin peut varier : Le chemin peut varier :
  • 39.
    zineb@ubuntu:~ zineb@ubuntu:~ $ $ lecaractère tilde le caractère tilde ~ ~ indique indique que vous êtes dans votre répertoire personnel. que vous êtes dans votre répertoire personnel. zineb@ubuntu:~/test $ zineb@ubuntu:~/test $ : le : le ~ ~ se rapportant à se rapportant à votre répertoire personnel, vous êtes dans le votre répertoire personnel, vous êtes dans le répertoire test au sein de celui-ci. répertoire test au sein de celui-ci. Dans la suite, l’invite de commande sera Dans la suite, l’invite de commande sera généralement remplacé par un simple dollar, généralement remplacé par un simple dollar, $ $, , ceci afin de gagner de la place sur la ligne de ceci afin de gagner de la place sur la ligne de commande. commande.
  • 40.
    Utiliser le shell Utiliserle shell a. La saisie a. La saisie Dans le terminal, le clavier s’utilise comme Dans le terminal, le clavier s’utilise comme d’habitude. Vous pouvez vous déplacer sur la d’habitude. Vous pouvez vous déplacer sur la ligne avec les flèches de droite et de gauche du ligne avec les flèches de droite et de gauche du clavier et effacer des caractères avec les clavier et effacer des caractères avec les touches [Retour arrière] et [Suppr]. Vous touches [Retour arrière] et [Suppr]. Vous lancez l’exécution de la commande que vous lancez l’exécution de la commande que vous avez saisi en appuyant sur la touche [Entrée]. avez saisi en appuyant sur la touche [Entrée].
  • 41.
    Il est tempsde tester quelques commandes. La Il est temps de tester quelques commandes. La commande date indique la commande date indique la date date et l’heure et l’heure actuelles. Vous actuelles. Vous n’obtiendrez évidemment pas le même n’obtiendrez évidemment pas le même résultat, et pas toujours dans la même langue, résultat, et pas toujours dans la même langue, selon votre installation Linux. selon votre installation Linux.
  • 42.
    Une commande pratique, Unecommande pratique, pwd pwd, permet de savoir , permet de savoir à quel endroit vous vous situez dans les à quel endroit vous vous situez dans les répertoires. répertoires. Le shell indique qu’il est actuellement positionné Le shell indique qu’il est actuellement positionné dans le répertoire dans le répertoire /home/zineb/Music/ /home/zineb/Music/. .
  • 43.
    Syntaxe générale descommandes Syntaxe générale des commandes  Les commandes ou instructions (les deux mots Les commandes ou instructions (les deux mots sont synonymes dans ce cas) GNU ont très sont synonymes dans ce cas) GNU ont très souvent une syntaxe reprenant la même souvent une syntaxe reprenant la même structure : structure : Commande [paramètres] [arguments] Commande [paramètres] [arguments]
  • 44.
    Une commande peutavoir ni paramètres, ni Une commande peut avoir ni paramètres, ni arguments. Dans ce cas elle exécute l’action arguments. Dans ce cas elle exécute l’action par défaut pour laquelle elle est programmée, par défaut pour laquelle elle est programmée, ou affiche un message d’erreur si ceux-ci sont ou affiche un message d’erreur si ceux-ci sont nécessaires. nécessaires.
  • 45.
    Un paramètre estune option de la commande. Les deux Un paramètre est une option de la commande. Les deux mots sont ici synonymes. C’est souvent une simple mots sont ici synonymes. C’est souvent une simple lettre ou un simple chiffre précédé d’un tiret : lettre ou un simple chiffre précédé d’un tiret : -1, -p, - -1, -p, - s, s, etc. Si la commande accepte plusieurs paramètres, etc. Si la commande accepte plusieurs paramètres, vous les saisissez les uns après les autres en les vous les saisissez les uns après les autres en les séparant par des espaces : séparant par des espaces : -1 -r -t -1 -r -t, ou en écrivant , ou en écrivant qu’un seul tiret puis tous les paramètres : qu’un seul tiret puis tous les paramètres : -lrt -lrt. Les . Les deux syntaxes sont acceptées et produisent le même deux syntaxes sont acceptées et produisent le même résultat. La seconde est seulement plus courte. résultat. La seconde est seulement plus courte.
  • 46.
    Dans certains casun paramètre nécessite un Dans certains cas un paramètre nécessite un argument, par exemple un nom de fichier. argument, par exemple un nom de fichier. Dans ce cas il est préférable de séparer ce Dans ce cas il est préférable de séparer ce paramètre des autres : paramètre des autres : -lrt -f monfichier -lrt -f monfichier. . Les arguments sont les entités sur lesquelles la Les arguments sont les entités sur lesquelles la commande doit exécuter son action. Leur type commande doit exécuter son action. Leur type dépend de la commande. Ce peut être un dépend de la commande. Ce peut être un fichier, du texte, des nombres, etc. fichier, du texte, des nombres, etc.
  • 47.
    Premier exemple concretavec cal Premier exemple concret avec cal Prenez l’exemple de la commande cal. Celle-ci Prenez l’exemple de la commande cal. Celle-ci admet plusieurs paramètres et arguments. admet plusieurs paramètres et arguments. Appelée seule, elle affiche le calendrier du Appelée seule, elle affiche le calendrier du mois en cours et surligne le jour actuel. mois en cours et surligne le jour actuel.
  • 48.
    La commande La commandecal cal admet deux arguments optionnels. Si un seul admet deux arguments optionnels. Si un seul est précisé, il s’agit de l’année, et l’intégralité du calendrier de est précisé, il s’agit de l’année, et l’intégralité du calendrier de cette année est affichée. Si deux arguments sont précisés, le cette année est affichée. Si deux arguments sont précisés, le premier est le mois (par exemple premier est le mois (par exemple 10 10), le second l’année (par ), le second l’année (par exemple exemple 1958 1958). ).  Un second paramètre -3 permet d’afficher les mois précédant Un second paramètre -3 permet d’afficher les mois précédant et suivant le mois précisé (faites l’exemple). et suivant le mois précisé (faites l’exemple).
  • 49.
    Chaîner les commandes Chaînerles commandes Vous pouvez exécuter plusieurs commandes sur Vous pouvez exécuter plusieurs commandes sur une seule ligne, les unes après les autres. Pour une seule ligne, les unes après les autres. Pour cela il suffit de les séparer avec un point- cela il suffit de les séparer avec un point- virgule. virgule. $ cal;date;ls -l;pwd $ cal;date;ls -l;pwd