Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Systme dExploitation I
Filire SMI
Semestre 3
SMI-S3
Sommaire
Chapitre 1 : Notions sur UNIX ........................................................................................... 4
1. Introduction ................................................................................................................ 4
2. Historique................................................................................................................... 4
3. Architecture du systme Unix .................................................................................... 5
3.1. LArchitecture du systme : ................................................................................ 5
3.2. LArchitecture du noyau ..................................................................................... 6
4. Arborescence des fichiers Unix ................................................................................. 7
4.1. Chemin d'accs un fichier ................................................................................. 8
4.2. Les rpertoires ..................................................................................................... 8
5. Les commandes Unix ............................................................................................... 12
5.1. Syntaxe des lignes de commande Unix ............................................................ 12
5.2. Commandes de manipulation des fichiers ........................................................ 13
5.3. Commandes de filtre en mode texte.................................................................. 15
5.4. Gestion des processus ....................................................................................... 17
5.5. Commandes diverses ........................................................................................ 17
Chapitre 2 : La programmation Shell................................................................................ 19
1. Pourquoi programmer en shell ? .............................................................................. 19
1.1. Niveau lexical : ................................................................................................. 19
1.2. Les sparateurs : ................................................................................................ 20
1.3. Les Mots : ......................................................................................................... 20
1.4. Les Caractres gnriques: ............................................................................... 20
1.5. Les Caractres spciaux : ................................................................................. 20
2. Le premier Programme : .......................................................................................... 24
3. Les commentaires .................................................................................................... 24
4. Les variables ............................................................................................................ 25
4.1. Les variables en Shell : ..................................................................................... 25
4.2. Les variables prdfinis : ................................................................................. 27
5. Les oprations .......................................................................................................... 27
6. Les tests .................................................................................................................... 28
6.1. Tests sur les chanes de caractres : .................................................................. 28
2015-2016
2
SMI-S3
2015-2016
3
SMI-S3
1. Introduction
Pour qu'un ordinateur soit capable de faire fonctionner un programme
informatique (appel parfois application ou logiciel), la machine doit tre en mesure
d'effectuer un certain nombre d'oprations prparatoires afin d'assurer les changes entre
le processeur, la mmoire, et les ressources physiques (priphriques).
Un systme d'exploitation, est charg d'assurer la liaison entre les ressources
matrielles, l'utilisateur et les applications. Ainsi lorsqu'un programme dsire accder
une ressource matrielle, il ne lui est pas ncessaire d'envoyer des informations
spcifiques au priphrique, il lui suffit d'envoyer les informations au systme
d'exploitation, qui se charge de les transmettre au priphrique concern via son pilote.
Le systme Unix est un systme d'exploitation multi-utilisateurs, multi-tches,
ce qui signifie qu'il permet un ordinateur mono ou multi-processeurs de faire excuter
simultanment plusieurs programmes par un ou plusieurs utilisateurs. Il possde un ou
plusieurs interprteurs de commandes (shell) ainsi qu'un grand nombre de commandes et
de nombreux utilitaires (assembleur, compilateurs pour de nombreux langages,
traitements de texte, messagerie lectronique, ...). De plus il possde une grande
portabilit, ce qui signifie qu'il est possible de mettre en uvre un systme Unix sur la
quasi-totalit des plates-formes matrielles.
De nos jours les systmes Unix sont trs prsents dans les milieux professionnels
et universitaires grce leur grande stabilit, leur niveau de scurit lev et le respect
des grands standards, notamment en matire de rseau.
Le but de ce cours est dabord de donner un aperu gnral du fonctionnement du
systme UNIX et de se familiariser avec ses commandes de bases : manipulation sous
shell des fichiers et processus. Nous nous sommes efforcs de ne dcrire que des
commandes standards, qui devraient fonctionner sous toutes les versions dUNIX et pour
tous les utilisateurs.
2. Historique
1965 : Bell Laboratoies, General Electric et le M.I.T. (filiale dune socit amricaine
de tlcommunications) lancent le projet MULTICS qui vise crer un systme
dexploitation multitches et multi-utilisateurs en temps partag, implantable sur
2015-2016
4
SMI-S3
tout ordinateur, assurant une portabilit des applications . Les chefs de projets taient Ken
THOMPSON et Dennis RITCHIE de Bell Laboratories .
1974-1977 :
Depuis, plus dune vingtaine de versions dUNIX ont vu le jour. Les quatre versions
principales sont BSD, SYSTEM V, POSIX (fdration de BSD et SYSTEM V) et LINUX
propos par Linus TORVALDS en 1991(un sosie du systme d'exploitation Unix crit
entirement de A Z).
2015-2016
5
SMI-S3
Chaque couche est construite pour pouvoir tre utilise sans connatre les couches
infrieures (ni leur fonctionnement, ni leur interface). Ce principe dencapsulation
permet, alors, dcrire des applications plus portables si elles sont crites dans les
couches hautes. Pour des applications ou le temps de calcul prime devant la portabilit,
les couches basses seront utilises.
il gre les ressources matrielles (mmoire, units d'E/S ...), les fichiers,
l'allocation de temps CPU.
il gre les processus.
il gre la communication et la synchronisation
Pour faire appel aux services du systme on passe gnralement par des fonctions
dfinies dans des bibliothques qui fournissent une interface de programmation
(API).Comme il est possible d'appeler directement le systme en utilisant des
interruptions logicielles prdfinies (Figure 2).
2015-2016
6
SMI-S3
Le noyau du systme Unix est divis en deux sous systmes : le premier dont le
rle est de grer tout ce qui concerne les entres/sorties et le second ddi la gestion des
processus (ordonnancement, gestion mmoire, communication inter-processus, etc.).
Les entres/sorties sont de deux types : en mode caractre pour des priphriques
dont la nature mme est de communiquer par caractres (les terminaux, les imprimantes et
les rseaux changent des caractres avec la mmoire centrale, sans tampon), et en mode bloc (
les mmoires de masse (disque, disquettes) changent des blocs dinformation avec la mmoire
centrale en utilisant des tampons.). Les entres/sorties en mode caractre ne font pas appel
au systme de cache rserv aux blocs. Ce systme est utilis afin de minimiser les accs
vers les priphriques concerns gnralement bien plus lents que la mmoire.
2015-2016
7
SMI-S3
Les fils dun mme pre doivent avoir des noms distincts, mais deux
fichiers/rpertoires de pres diffrents peuvent avoir des noms identiques. Par convention
la racine se nomme (/).
Les fichiers standards : les fichiers manipuls par les utilisateurs ( les
fichiers texte, les excutables..)
Les fichiers spciaux : manipulables que par l'intermdiaire du systme
(priphriques, mmoire ) pour communiquer avec un priphrique, on lit
ou on crit dans un fichier spcial reprsentant ce priphrique.
Exemple
2015-2016
8
SMI-S3
Rpertoire
Contient
/bin
/boot
/dev
/etc
/home
/lib
/lost+found
/mnt
/proc
/root
/sbin
/tmp
/usr
/var
2015-2016
9
SMI-S3
SMI-S3
/sbin, /usr/sbin : contient les programmes qui ne sont en principe utiles quaux
administrateurs du systme (ou sysadmin, super-user, root). La plupart de ces
programmes ncessitent les privilges du superuser pour tre xecuts, comme
useradd et userdel qui permettent dajouter et de supprimer un compte utilisateur
sur la machine.
4.2.3. Les rpertoires lib
Les rpertoires lib (comme library) sont les rpertoires destins aux fichiers
bibliothques : ce sont des blocs de code partags par plusieurs codes binaires. Ceci a
pour principe dviter que le mme code soit dupliqu dans tous les binaires et on gagne
donc de la place sur le disque. Ceci permet aussi de mettre jour une bibliothque en la
remplaant par une version plus rcente (plus efficace ou contenant moins derreurs) et
tous les binaires lutilisant en profitent. On trouve /lib, /usr/lib, /usr/local/lib et
/usr/X/lib. Gnralement, les noms de ces fichiers commencent par lib et se terminent par
.so (shared object).
Exemple
/lib/libc.so contient toutes les routines de base des binaires programmes en
langage C (allocation mmoire, saisie au clavier, affichage sur le terminal,)
/lib/libm.so contient toutes les routines mathmatiques de base pour le C (racine
carre, algorithme, cosinus, . . .).
4.2.4. Les rpertoires etc
Le rpertoire etc contient les principaux fichiers de configuration et scripts
dinitialisation du systme. Ce sont gnralement des fichiers texte.
2015-2016
11
SMI-S3
Exemple
djelloul :x :158 :101 :Khalil DJELLOUL :/home2/djelloul :/bin/bash
godbert :x :133 :101 :GODBERT Elisabeth :/home2/godbert :/bin/bash
On voit que le champ pass est toujours vide. Par scurit, les mots de passe sont
crypts dans le fichier inaccessible /etc/shadow.
4.2.5. Les rpertoires man
Quand un programme est bien fait, il est galement bien document. Le rpertoire
/usr/man (manual) regroupe les fichiers de documentation destins tre lu par le
programme /usr/bin/man.
Exemple : pour utiliser la commande ls, nous taperons la commande suivante :
Le travail en ligne de commande (mode texte) est souvent beaucoup plus efficace,
plus rapide et plus appropri qu travers une interface graphique (dans de nombreux
contextes (serveurs, systmes embarqus, liaisons distantes lentes) on ne dispose pas
dinterface graphique;).
SMI-S3
Une commande Unix peut avoir ou non des arguments. Cet argument est soit une
option soit un nom de fichier .Une ligne de commande Unix scrit gnralement sous le
format suivant :
Commande option(s) fichier(s)
Exemple : man man
ls -rl
ou permutes :
ls -rl
ls -lr
Largument fichier est le nom dun fichier que nous dsirons utiliser
En gnral :
Les noms de commandes sont entrs en caractres minuscules.
Les commandes, les options et les noms des fichiers sont spars par des espaces.
Les options sont places avant les noms des fichiers (la majorits des systmes
Unix permettent de traiter plusieurs fichiers).
Commande Description
Options
Paramtres
pwd
cd
chemin d'accs
rpertoire
basename
Chemin du fichier
+[suffixe] : partie
supprimer de la chane
2015-2016
13
un
SMI-S3
chmod
chgrp
{+-}
en
-R
change
rcursivement
noeud
les
droits
partir du
[rwx]
Groupe
fichier
nom
du
chown
Utilisateur nom du
fichier
cp
ls
mkdir
rm
rmdir
nom du rpertoire
-f : force la commande sans
s'occuper
des
droits
-i : demande confirmation
-r : destruction rcursive
Nom du fichier ou du
rpertoire
nom de rpertoire
2015-2016
14
SMI-S3
mv
dplace
fichiers
(ou
renomme)
des
touch
-i : demande confirmation
Source-destination
df
affiche
la
disponible
du
les
chaque
argument
en
ajoutant
un
suffixe
correspondant l'unit (K,
M, G).
file
Fichier
Commande Description
cat
Options
Paramtres
-vET
e:
quivalent
-vE
- t : quivalent -vT.
sort
fichier
2015-2016
15
SMI-S3
sed
sortie standard.
de
spcifier
les
commandes appliquer sur le
fichier. Cette option est utile lorque
vous
appliquez
plusieurs
commandes. Afin d'viter que le
shell interprte certains caractres,
il faut mieux encadrer la commande
avec des ' ou des " ;
- f:les commandes sont lue partir
dun fichier
more
less
cut
expand
head
join
2015-2016
16
SMI-S3
paste
tail
tac
concatne
les
fichiers
inversant l'ordre des lignes
uniq
rev
pr
formate
un
l'impression
tee
tr
fichier
en *
pour
Commande
Description
ps
kill
nice
Commande
Description
true
2015-2016
17
SMI-S3
false
echo
date
gzip
sleep
grep
find
bc
cal
affiche le calendrier
clear
efface l'cran
csplit
diff
factor
hexdump
id
passwd
wc
whereis
who
2015-2016
18
SMI-S3
2015-2016
19
SMI-S3
SMI-S3
processus
en
foreground,
commande
cp F G & processus en background, commande non bloquante
bloquante
2015-2016
21
SMI-S3
Les deux caractres >> indiquent que les informations doivent tre ajoutes la
fin d'un fichier existant.
La commande cat clients >> nouvclients ajoute le contenu du fichier clients
la fin du fichier nouvclients. Si le fichier nouvclients n'existe pas il est cr.
C.
Syntaxe
>
>>
2>
2>>
<
Fonction
Redirection de la sortie standard
Ajoute les sorties un fichier existant
Redirige les messages d'erreur vers un
fichier
Ajoute les messages d'erreur un fichier
existant
Redirection des entres
Exemple
cat fichier1>fichier2
cat fichier1>>fichier2
cat fichier1 2> erreurs
cat
fichier1
fichier2
tr aA < fichier2
2>>
2015-2016
22
SMI-S3
SMI-S3
2. Le premier Programme :
Pour crire nos programmes shell nous utilisons un diteur de texte, tel que nedit,
kedit, emacs, vi...
#!/bin/sh
# fichier : PremierProgramme.sh
# Affiche un salut a l'utilisateur
echo "Bonjour $USER"
3. Les commentaires
Les commentaires, en langage shell, commencent par le caractre # et vont jusqu'
la fin de la ligne.
2015-2016
24
SMI-S3
4. Les variables
4.1. Les variables en Shell :
Comme dans tout langage de programmation, nous ne pouvons pas nous surpasser
des variables.
En langage shell, les variables sont dsignes par les mots ;elle ne se dclarent
pas , et leur type (numrique ou chaine) dpend de leur interprtation par les
commandes. Dans un mme processus, toutes les variables doivent avoir des noms
diffrents.
Pour initialiser une variables et lui affecter une valeur, il suffit d'crire :
Nom_variable=valeur
Il ne faut pas quil y ait espaces de chaque cot du symbole=.Une valeur peut tre
une valeur numrique, une chaine, le rsultat dune commande...
Pour rcuprer la valeur de la variable, il suffit d'crire le signe dollar $ devant le
nom de la variable : $
#!/bin/sh
# affecter une valeur la variable (sans la dclarer) :
a="Bonjour $USER "
# afficher le contenu de la variable "a" :
echo "La valeur de a est :"
echo $a
Pour ne pas avoir de confusion entre les variables et le reste du texte ; il faut
utiliser les accolades :
#!/bin/sh
# affecter une valeur la variable (sans la dclarer) :
a="Bonjour $USER "
# afficher le contenu de la variable "a" :
echo "La valeur de a est : {$a}Bienvenu"
Si nous crivons le programme prcdant sans utiliser les {} ; c--d : echo "La
valeur de a est : $aBienvenu" .Le programme donnera comme rsultat :< La valeur de
2015-2016
25
SMI-S3
a est :> car le shell recherchera une variable nomme aBienvenu qui n'a pas de valeur
dfinie.
Il existe quelques variables dfinies par le systme et utilises par le shell luimme ou par les processus en excution. On cite par exemple:
le chemin du rpertoire de base de l'utilisateur : $HOME
Une suite de chemins d'accs aux rpertoires des excutables: $PATH
l'invite de l'interprteur : $PS1
le nom de l'utilisateur : $USER
le type de shell : $SHELL
le nom du type du terminal : $TERM
liste de chemins d'accs pour la commande cd : $CDPATH
chemin d'accs la bote aux lettres utilisateur : $MAIL
intervalle en sec au bout duquel le mail est : $ MAILCHECK
La commande set (sans paramtre) permet de visualiser les variables et leurs
valeurs. Une commande peut tre efface de lenvironnement par la commande Unset
(ex unset variable).
La commande export permet de dfinir des variables denvironnement qui
pourront tre utilises par plusieurs processus fonctionnant simultanment. Cette
commande permettra de faire connatre alors la variable aux processus fils du shell.
Les variables cres par le fils ne sont pas transmises au pre.
Il existe des mthodes d'accs plus sophistiques permettant une substitution de
valeur. La substitution de valeur permet dvaluer conditionnellement la valeur du
variable. Elle sert donner des valeurs par dfaut des variables dont on ne sait pas si
elles sont initialises. Tableau7 montre ce mcanisme :
Tableau 7 : La substitution de valeurs sous UNIX
Mthode
Rsultat
${variable:- valeur}
${variable:= valeur}
${variable:?message} donne la valeur de la variable si celle-ci n'est pas nulle, sinon affiche le
message de substitution et termine le processus shell en cours
${variable:+valeur}
2015-2016
26
SMI-S3
Variable
Fonction
$$
$?
$!
$0
$1 $9
$#
$*
5. Les oprations
La commande expr permet d'effectuer des oprations arithmtiques entires sur
les variables.
ATTENTION : il faut toujours banaliser les mta caractres (caractres gnriques ou
spcifiques) utiliss dans la commande expr avec \ .
$ expr 4 + 3
7
$ a=5
$ expr 4$a + 1
2015-2016
27
SMI-S3
46
$ expr $a \< 7
1
$ expr a \< c
1
Les oprations possibles sont :
+ - * / % (reste) sur des oprandes entiers ;
< > = >= <= ! (diffrent de) sur des oprandes quelconques, avec
comparaisons faites suivant l'ordre lexicographique entre chanes de
caractres ;
| & oprations boolennes.
La priorit est la priorit usuelle. On peut grouper avec des parenthses, qu'il faut
penser banaliser.
$ a=`expr 2 \* \( 3 + 5 \)` (affectation)
$ echo $a
16
$ a=`expr $a + 1` (incrmentation)
$ echo $a
17
Attention : pour laffectation la commande expr doit tre mise dans le
parenthesage `..`
6. Les tests
Il y a deux faons de faire des tests : Utiliser la commande test expression ou bien
[ expression ](Vous devez imprativement avoir un espace autour de chaque crochet)
Cette commande renvoie 0 si expression est vraie et un autre entier sinon.
2015-2016
28
SMI-S3
Les tests sont rarement utiliss seuls (bien que cela soit possible).Ils le sont en
gnral dans une conditionnelle.
7. L'excution conditionnelle
7.1. linsruction if hen fi
L'excution conditionnelle est gre par la structure :
if commande
then
autres commandes
fi
2015-2016
29
SMI-S3
if commande
then
commandes
else
commandes
fi
ou :
if commande
then
commandes
elif commande
commandes
fi
Attention : les mots-cls then, else et fi doivent tre en dbut de ligne ou prcds de ;
Exemple1
#!/bin/sh
if [ "$SHELL" = "/bin/bash" ]
then
echo "Vous travaillez avec le shell : bash "
else
echo " Vous travaillez avec le shell : $SHELL"
fi
Exemple2
#!/bin/sh
if [ -f $1 ];then if [ -x $1 ]
then echo $1 est un excutable
2015-2016
30
SMI-S3
Il existe deux commandes utiles pour les tests, ce sont true qui retourne toujours 0,
donc vrai, et false qui retourne toujours 1, donc faux.
7.1.1 combinaison de plusieurs conditions
Si nous voulons faire le test sur plusieurs conditions , nous devons les combiner
de la faon suivant :
[ cond1 -a cond2 ] : Vrai seulement si les deux conditions sont remplies.
[ cond1 -o cond2 ] : Vrai ds que l'une des deux conditions est remplie.
Exemple :
#!/bin/sh
a=$1
b=$2
if [ \( $a != $b \) -a \( $a -gt $b \) ]
then echo $a suprieur a $b
else echo $a plus petit que $b
fi
2015-2016
31
SMI-S3
#!/bin/sh
mailfolder=/var/spool/mail/toto
[ -r "$mailfolder" ] || { echo "Je ne peux pas lire $mailfolder" ; exit 1; }
echo "$mailfolder a recu un courrier de :"
grep "From " $mailfolder
Ce script teste tout d'abord s'il peut lire le dossier du courrier de lutilisateur toto
prcis. Si c'est le cas, il affiche les lignes "From" du dossier. S'il ne peut pas lire le
fichier $mailfolder, alors l'oprateur "OR" entre en action.Le problme, ici, c'est
qu'aprs OR nous ne pouvons mettre qu'une seule commande .Ici , nous avons utiliser
le parenthsage {} pour transformer, les deux commande echo et exit en une seule
commande.
Vous pouvez tout faire sans les oprateurs AND et OR, uniquement en utilisant
les instructions if, mais souvent les raccourcis des oprateurs ci-dessus sont plus
pratiques.
Exemple : (ET)
#!/bin/sh
[ -f exemple ] && echo "exemple est un fichier "
Nous pouvons lire lexemple comme suit: "exemple est un fichier ET la
commande echo est excute"
2015-2016
32
SMI-S3
8. L'excution itrative
8.1. Linstruction While
L'interprteur de commandes gre trois types de constructions pour les boucles :
while commande
do
commandes
done
ou
until commande
do
commandes
done
ou
for variable in liste_de_valeurs
do
commandes
done
Pour les deux premires constructions, le fonctionnement est similaire la
commande if. Pour la boucle for, la variable prendra successivement toutes les
valeurs de la liste.
2015-2016
33
SMI-S3
SMI-S3
fonction [paramtres]
Les fonctions reoivent les paramtres d'appel dans les variables $1 $9 et $*. La
valeur de $0 reste inchange.
Il est possible de dclarer des variables locales une fonction en utilisant la
commande local avant la dclaration de la variable. Dans ce cas, la modification de la
variable locale ne modifie pas une variable globale portant le mme nom.
Exemple :
MaFonction()
{
local maVariable="coucou"
echo $maVariable
}
maVariable="Bonjour"
echo $maVariable
MaFonction
echo $maVariable
La commande return permet de spcifier le code de retour de la fonction. S'il n'est
pas spcifi, la variable $? est initialise au code de fin de la dernire commande de la
fonction.
Le shell supporte les appels rcursifs de fonctions. Comme dans tout langage
rcursif, il faut faire trs attention aux effets de bord et aux variables non dclares en
local.
2015-2016
35
SMI-S3
1- Introduction
Pour interagir avec un systme UNIX, lutilisateur rentre des commandes dans un
interprteur : le shell. Vous pouvez lancer cet interprteur laide dun programme
nomm console ou terminal (xterm). Le premier caractre de dbut dune ligne dans cet
interprteur est le prompt (gnralement cest le caractre $, qui peut etre prcd du
nom de lutilisateur ainsi que dun chemin dans le systme de fichier, par exemple :
nom@machine:~$
Linterprteur est prt recevoir une commande. Taper cette commande au clavier
puis appuyer sur la touche <RET> (retour chariot, ou touche entre) permet dexcuter
une commande.
Les commandes UNIX suivent le format suivant : Commande option(s) fichier(s)
nom@machine:~$ Commande option(s) fichier(s)
options : est une liste doptions (souvent une suite de lettres ou des mots qui
suivent spars par un tiret - ) pour cette commande,
fichier(s) : est lentit ou les entits sur lesquelles la commande sera excute.
Remarque : UNIX respecte la casse,
Avant de commencez par vous familiariser avec les diffrents menus de votre
espace de travail Unix : Il faut dabords se connecter cet espace.
2- Connexion au systme
Chaque utilisateur est identifi par une procdure de login : nom dutilisateur
(username) valide suivi du mot de passe (password) correspondant. Cest
ladministrateur systme qui assigne le nom dutilisateur et le mot de passe initial.
Chaque station a un nom de machine (hostname).
Nous utilisons pour nos Tps des machines sous Linux (ubuntu).
Se connecter est videmment la premire chose faire. Le systme dmarre et
affiche une fentre vous invitant taper votre identifiant (login) et votre mot de passe
(password), ce qui vous permet douvrir une session.
Dans les salles machines de la facult et par raison de scurit, ltudiant accde
au systme ubuntu comme utilisateur invit et donc il ne passe pas par la procdure
2015-2016
36
SMI-S3
dauthentification. Autant quinvit, ltudiant naura pas tous les droits daccs mais
pourra excuter les commandes de base.
4- Ajouter un utilisateur
Note : la plupart des programmes ainsi que le menu principal disposent dune
entre aide (help) permettant daccder laide en ligne. Si vous tes coinc(e),
nhsitez pas la consulter.
Explorez un peu le menu principal. Lancez quelques applications, et exercez-vous
agrandir, fermer et dplacer les fentres. Parcourez lensemble des menus disponibles et
essayez de deviner quoi sert chaque fonction.
Avec le bouton droit de la souris, vous pouvez faire apparatre diffrentes
commandes selon lendroit cliqu (on parle de menus contextuels ).
Si vous voulez ajouter un utilisateur il faut basculer vers le root (super utilisateur)
car il est le seul utilisateur qui a le droit dajouter ou de modifier les paramtres dun
utilisateur.
Pour passer au mode root ouvrez une console et tapez su ou sudo. Tapez ensuite
adduser pour ajouter un nouvel utilisateur.
Par dfaut, les users invits n'ont pas de password. Pour mettre un mot de passe
root tapez : sudo passwd et pour mettre un mot de passe au user "knoppix", tapez: sudo
passwd knoppix.
Vous pouvez visualiser les utilisateurs que vous avez ajout en ouvrant le
fichier /etc/passwd.
2015-2016
37
SMI-S3
6- Ajout fichiers/rpertoires
2015-2016
38
SMI-S3
SMI-S3
SMI-S3
e. Affichez les lignes ne contenant pas root ainsi que le numro de la chaque
ligne.
20. Passez au mode super utilisateur et crer un nouvel utilisateur portant votre nom.
a. Afficher la ligne du fichier /etc/passwd qui contient votre mot de login.
b. Affichez avec la commande cut les caractres du 2me au 5me de toutes les
lignes.
c. Afficher les six premiers caractres et le 10me caractre de toutes les lignes.
d. Affichez les champs 1 et 7 du fichier passwd en utilisant le sparateur : .
21. Le rpertoire /usr/include contient les fichiers dentte standards en langage C
(stdlib.h,...).
a.
b.
Fich 2 :
1erre ligne
1erre ligne
2eme ligne
seconde ligne
3eme ligne
3eme ligne
SMI-S3
2015-2016
42
SMI-S3
2015-2016
43
SMI-S3
SMI-S3
2015-2016
45
SMI-S3
2015-2016
46
SMI-S3
1- Descriptif du projet
Le projet consiste raliser, l'aide de scripts shell sh une application de
gestion des rendez-vous dun cabinet mdical. Le script final doit permettre :
1- Enregistrement et authentification de plusieurs utilisateurs.
2- Enregistrements des patients.
3- Gestion des rendez-vous.
Linterface sera entirement textuelle.
Lutilisateur du programme doit sidentifier avant dutiliser lapplication.
Un utilisateur est dcrit par les lments suivants (stocks dans un fichier) :
1. Son nom
2. Mot de passe
3. Sa description
2- Descriptif technique
a. Dmarrage
Le script du projet devra se nommer GestionRendezVous.sh.
b. Structure de donnes
Le projet sera modlis sous forme de fichiers et de rpertoires. Il doit
utiliser des scripts shell uniquement. Pour simplifier lcriture du script shell qui
englobe lensemble du projet, vous pouvez crire quelques scripts utilitaires
effectuant des parties du travail.
c. IHM
Lapplication tant en mode texte. La communication utilisateur /
programme sera base de commandes en mode texte. Un menu contenant les
options de lapplication permettra de :
2015-2016
47
SMI-S3
SMI-S3
2015-2016
49
SMI-S3
Quelques Rfrences
1. Shells Linux et Unix par la pratique, par Blaess, Christophe , Editeur:
Eyrolles , Publication: 2008 . ISBN: 978-2-212-12273-2
2. Scripts shell Linux et Unix - Avec 30 scripts prts l'emploi, par : Blaess,
Christophe. Editeur: Eyrolles, Publication: 2012, ISBN: 978-2-21213579-4
2015-2016
50