4. → Présentation générale
→ Concepts et structure du système
→ Système de fichiers
→ Manipulation des fichiers
→ Manipulation des répertoires
→ Notion de processus et gestion des processus
→ Notion d’utilisateur
→ Protection et droits d’accès
P L A N
Pr. Khadija OUAZZANI TOUHAMI 4
Système Unix
5. → Notion de commande et de Shell
→ Commandes bloquantes et non bloquantes
→ Redirection d’E/S (Entrées/Sorties)
→ Communication inter processus
→ Notion de filtres
→ Génération de noms
→ Variables pré définies
→ Autres commandes utiles
Pr. Khadija OUAZZANI TOUHAMI 5
Système Unix
7. 1. Bref historique
Unix, Un ancien système :
1969 : naissance d’Unix aux BELL
laboratoires aux USA, en collaboration avec
General Electric.
Unix, une marque déposée AT&T.
Pr. Khadija OUAZZANI TOUHAMI 7
Système Unix
8. 1970 : 1ère version d’Unix, mono utilisateur,
avec un noyau du système et un
interpréteur de commandes élémentaire.
1973 : Unix ré écrit en C en collaboration
avec l’université de Berkeley (Dennis
Ritchie).
Pr. Khadija OUAZZANI TOUHAMI 8
Système Unix
9. 1974 : Unix distribué gratuitement à des
universités Américaines (Berkeley,
Columbia, …).
1975 : Première version d’Unix distribuée
pour le montant symbolique de 250 $US.
Pr. Khadija OUAZZANI TOUHAMI 9
Système Unix
10. 1979 : Portabilité d’Unix.
1980 : Première version d’Unix pour micro
ordinateurs.
1981 : Première version d’Unix
commercialisée par AT&T : System III.
Pr. Khadija OUAZZANI TOUHAMI 10
Système Unix
11. Aujourd’hui :
➢ Unix est disponible, et constitue le
standard, sur toute une gamme de
matériels : micro ordinateurs, stations
de travail et mainframes .
Pr. Khadija OUAZZANI TOUHAMI 11
Système Unix
12. ➢ Plusieurs distributions et versions :
✓ Linux (Read Hat, Fedora, Ubunto)
✓ System V , Solaris
✓ Multics, Ultrix, Onyx, Posix
Pr. Khadija OUAZZANI TOUHAMI 12
Système Unix
13. 2. Caractéristiques
➢ Un système opératoire :
interactif, multi utilisateurs, multi tâches
et multi langages.
➢ Un langage de commandes :
séquentiel, pseudo parallèle, redirection
d’E/S, communication inter processus,
programmation Shell, …
Pr. Khadija OUAZZANI TOUHAMI 13
Système Unix
14. ➢ Une documentation en ligne :
Manuel d’utilisation en ligne sur chaque
commande du système
➢ Des utilitaires :
✓ Editeurs de textes (ed, vi, …)
✓ Gestion de programmes (make)
Pr. Khadija OUAZZANI TOUHAMI 14
Système Unix
15. ➢ Adaptabilité et souplesse :
Commandes généralement indépendantes du
noyau, création de commandes utilisateurs, ...
➢ Les champs d’application :
✓ Le développement logiciel
✓ Les applications industrielles et temps réel
Pr. Khadija OUAZZANI TOUHAMI 15
Système Unix
18. 1. Environnement de programmation
➢ Compilateurs + Debuggers symboliques
➢ Langages de programmation : C, C++,
Pascal, Fortran 77, Lisp, APL, Prolog,
Basic, …
➢ Editeurs de textes : ed, vi, emacs, …
Pr. Khadija OUAZZANI TOUHAMI 18
Système Unix
19. ➢ Communication inter utilisateurs : talk,
mail
➢ Interface utilisateur multi fenêtres: X-
Windows
➢ Outils de gestion de programmes, de
projets et de versions
➢ Applications
Pr. Khadija OUAZZANI TOUHAMI 19
Système Unix
20. Les commandes de base, les programmes
de commandes, les outils et les applications
sont accessibles au travers du langage de
commande du système : le SHELL
Pr. Khadija OUAZZANI TOUHAMI 20
Système Unix
21. Plusieurs interpréteur de commandes Shell :
➢ sh : Bourne Shell, du nom de son
auteur
➢ csh : C-Shell, développé à l’université
de Berkeley
➢ rsh , ksh , …
Pr. Khadija OUAZZANI TOUHAMI 21
Système Unix
22. Pr. Khadija OUAZZANI TOUHAMI 22
2. Structure du système
Le noyau offre les services de base
(interfaces système) pour construire les
commandes, les outils et les applications.
Une structure en couche
Système Unix
23. Pr. Khadija OUAZZANI TOUHAMI 23
Système Unix
Matériel
Noyau
Gestion mémoire, mémoire virtuelle, E/S, système de
fichiers, partage processeur, synchronisation, …
Interpréteur de commandes
ls, date, grep, sh, vi, …
Shell-script, Prog-c, Appli-oracle, …
Applications
cc, gnu, p, oracle, …
24. Autre façon de voir cette structure en couche
Pr. Khadija OUAZZANI TOUHAMI 24
Système Unix
Matériel
Noyau
Shell
User 1
Shell
User 2
Shell
User 3
…
25. 3. Techniques de développement
➢ Le langage Shell :
Une commande = un processus = une
fonction binaire en exécution.
➢ La redirection des E/S :
L’entrée et la sortie d’un processus peut
être redirigée sur un fichier.
Pr. Khadija OUAZZANI TOUHAMI 25
Système Unix
26. ➢ La communication inter processus :
La sortie d’un processus peut être redirigée
vers l’entrée d’un autre processus.
➢ La modularité :
La construction de Shell-Script qui peuvent
s’appeler les uns les autres, et qui peuvent
même s’appeler récursivement.
Pr. Khadija OUAZZANI TOUHAMI 26
Système Unix
28. 1. Le système de fichiers
➢ Structure arborescente
➢ 3 types de fichiers :
✓ Les fichiers simples ou ordinaires.
Un fichier simple est une séquence de
caractères (binaire, source, texte, …).
Pr. Khadija OUAZZANI TOUHAMI 28
Système Unix
29. Pas de signification ni de structure
imposée par le système.
C’est une suite d’octets qui n’a de
signification que pour l’utilisateur
ou pour une application donnée.
Pr. Khadija OUAZZANI TOUHAMI 29
Système Unix
30. Un nom de fichier peut être composé
de n’importe quel caractère
alphanumérique ainsi que « - », « _ » et
« . ».
Un nom de fichier peut être long d’au
plus 14 caractères.
Pr. Khadija OUAZZANI TOUHAMI 30
Système Unix
31. Exemples :
fiche-ancien, fiche-nouveau, archive.89,
SOURCE.c, essai.1, 2019.covid,
14.10.202O sont des noms de fichiers
corrects.
Pr. Khadija OUAZZANI TOUHAMI 31
Système Unix
32. fiche%.ancien, source!c sont des noms
incorrects.
F1.c et f1.c sont des noms de fichiers
différents.
N.B. : Unix fait la différence entre les
majuscules et les minuscules.
Pr. Khadija OUAZZANI TOUHAMI 32
Système Unix
33. ✓ Les fichiers répertoires :
Ils permettent de hiérarchiser les
fichiers suivant leur utilité.
Un répertoire est un fichier particulier
composé de la liste des noms de
fichiers qu’il contient et des numéros
d’inodes leur correspondant.
Pr. Khadija OUAZZANI TOUHAMI 33
Système Unix
34. Ces numéros d’inodes servent à
repérer l’inode d’un fichier.
Cet inode est constitué d’une liste
d’information sur le fichier :
- son type
- son nombre de liens
Pr. Khadija OUAZZANI TOUHAMI 34
Système Unix
35. - le numéro d’identification de
l’utilisateur propriétaire (uid)
- le numéro d’identification du groupe
de l’utilisateur propriétaire (gid)
- sa taille en octets
- sa date de création
Pr. Khadija OUAZZANI TOUHAMI 35
Système Unix
36. - sa date de dernier accès
- sa date de dernière modification
- son adresse de stockage
- …
Pr. Khadija OUAZZANI TOUHAMI 36
Système Unix
37. ✓ Les fichiers spéciaux et
périphériques
Les fichiers spéciaux servent à la gestion des
périphériques.
▪ Les terminaux
▪ Les imprimantes
▪ Les supports magnétiques
▪ Etc.
Ils se trouvent dans le répertoire /dev.
Pr. Khadija OUAZZANI TOUHAMI 37
Système Unix
38. Les fichiers représentant les terminaux ont
généralement le préfixe « tty », l’imprimante
en général « lp », les disques « hd », etc.
Exemple :
Afficher un caractère sur l’écran du
terminal 1 ne fait réellement qu’écrire dans
le fichier /dev/tty1.
Pr. Khadija OUAZZANI TOUHAMI 38
Système Unix
39. 2. Arborescence du système de
fichiers
Dans l’arborescence des fichiers sous
Unix, on trouve généralement, et
entre autres, les fichiers ou plutôt
répertoires suivants :
Pr. Khadija OUAZZANI TOUHAMI 39
Système Unix
40. /
bin etc dev usr lib tmp
bin lib tmp news man user-1 . . . User-n
Pr. Khadija OUAZZANI TOUHAMI 40
Système Unix
41. / : c’est la racine du système.
/bin : ce répertoire système contient la
majorité des commandes système pour
l’utilisateur (cat , ls , cp , …).
/etc : ce répertoire contient les fichiers et
commandes de l’administration système
(passwd , adduser , …).
Pr. Khadija OUAZZANI TOUHAMI 41
Système Unix
42. /dev : dans ce répertoire se trouvent les
fichiers périphériques (tty , lp , …)
/lib : contient les librairies de compilation
des différents langages (C , pascal , …)
/tmp : répertoire des fichiers temporaires
/usr : contient les espaces de travail des
différents utilisateurs
Pr. Khadija OUAZZANI TOUHAMI 42
Système Unix
43. /usr/bin : une extension de /bin
/usr/man : contient le manuel interactif
/usr/lib : une extension de /lib
/usr/news : contient les nouvelles éditées
par l’administrateur du système
/usr/tmp : répertoire des fichiers provisoires
des utilisateurs
Pr. Khadija OUAZZANI TOUHAMI 43
Système Unix
44. Remarque :
Les notations sont similaires à celles de
Dos.
Exemple :
/ usr / lib
Le « / » est un séparateur
Le « / » au début est « la racine » de l’arbre
au début de tout chemin absolu
Pr. Khadija OUAZZANI TOUHAMI 44
Système Unix
45. Schéma simplifié du système de fichiers
/
bin dev etc usr
date tty01 passwd
cat lp01 adduser
who hd01 …
… fd01
ms01
…
Pr. Khadija OUAZZANI TOUHAMI 45
Système Unix
47. Tout fichier est nommé par son chemin
d’accès (path name) dans l’arborescence.
Exemple :
/usr/users/paul/mbox
est la boîte aux lettres de l’utilisateur paul.
/usr/users/paul
est le répertoire de travail initial ou le
répertoire personnel de l’utilisateur paul.
Pr. Khadija OUAZZANI TOUHAMI 47
Système Unix
48. 2 types de chemins :
1) Chemin absolu
2) Chemin relatif
Pr. Khadija OUAZZANI TOUHAMI 48
Système Unix
50. → Présentation générale
→ Concepts et structure du système
→ Système de fichiers
→ Manipulation des fichiers
→ Manipulation des répertoires
→ Notion de processus et gestion des processus
→ Notion d’utilisateur
→ Protection et droits d’accès
P L A N
Pr. Khadija OUAZZANI TOUHAMI 50
Système Unix
51. → Notion de commande et de Shell
→ Commandes bloquantes et non bloquantes
→ Redirection d’E/S (Entrées/Sorties)
→ Communication inter processus
→ Notion de filtres
→ Génération de noms
→ Variables pré définies
→ Autres commandes utiles
Pr. Khadija OUAZZANI TOUHAMI 51
Système Unix
53. 1. Bref historique
Unix, Un ancien système :
1969 : naissance d’Unix aux BELL
laboratoires aux USA, en collaboration avec
General Electric.
Unix, une marque déposée AT&T.
Pr. Khadija OUAZZANI TOUHAMI 53
Système Unix
54. 1970 : 1ère version d’Unix, mono utilisateur,
avec un noyau du système et un
interpréteur de commandes élémentaire.
1973 : Unix ré écrit en C en collaboration
avec l’université de Berkeley (Dennis
Ritchie).
Pr. Khadija OUAZZANI TOUHAMI 54
Système Unix
55. 1974 : Unix distribué gratuitement à des
universités Américaines (Berkeley,
Columbia, …).
1975 : Première version d’Unix distribuée
pour le montant symbolique de 250 $US.
Pr. Khadija OUAZZANI TOUHAMI 55
Système Unix
56. 1979 : Portabilité d’Unix.
1980 : Première version d’Unix pour micro
ordinateurs.
1981 : Première version d’Unix
commercialisée par AT&T : System III.
Pr. Khadija OUAZZANI TOUHAMI 56
Système Unix
57. Aujourd’hui :
➢ Unix est disponible, et constitue le
standard, sur toute une gamme de
matériels : micro ordinateurs, stations
de travail et mainframes .
Pr. Khadija OUAZZANI TOUHAMI 57
Système Unix
58. ➢ Plusieurs distributions et versions :
✓ Linux (Read Hat, Fedora, Ubunto)
✓ System V , Solaris
✓ Multics, Ultrix, Onyx, Posix
Pr. Khadija OUAZZANI TOUHAMI 58
Système Unix
59. 2. Caractéristiques
➢ Un système opératoire :
interactif, multi utilisateurs, multi tâches
et multi langages.
➢ Un langage de commandes :
séquentiel, pseudo parallèle, redirection
d’E/S, communication inter processus,
programmation Shell, …
Pr. Khadija OUAZZANI TOUHAMI 59
Système Unix
60. ➢ Une documentation en ligne :
Manuel d’utilisation en ligne sur chaque
commande du système
➢ Des utilitaires :
✓ Editeurs de textes (ed, vi, …)
✓ Gestion de programmes (make)
Pr. Khadija OUAZZANI TOUHAMI 60
Système Unix
61. ➢ Adaptabilité et souplesse :
Commandes généralement indépendantes du
noyau, création de commandes utilisateurs, ...
➢ Les champs d’application :
✓ Le développement logiciel
✓ Les applications industrielles et temps réel
Pr. Khadija OUAZZANI TOUHAMI 61
Système Unix
64. 1. Environnement de programmation
➢ Compilateurs + Debuggers symboliques
➢ Langages de programmation : C, C++,
Pascal, Fortran 77, Lisp, APL, Prolog,
Basic, …
➢ Editeurs de textes : ed, vi, emacs, …
Pr. Khadija OUAZZANI TOUHAMI 64
Système Unix
65. ➢ Communication inter utilisateurs : talk,
mail
➢ Interface utilisateur multi fenêtres: X-
Windows
➢ Outils de gestion de programmes, de
projets et de versions
➢ Applications
Pr. Khadija OUAZZANI TOUHAMI 65
Système Unix
66. Les commandes de base, les programmes
de commandes, les outils et les applications
sont accessibles au travers du langage de
commande du système : le SHELL
Pr. Khadija OUAZZANI TOUHAMI 66
Système Unix
67. Plusieurs interpréteur de commandes Shell :
➢ sh : Bourne Shell, du nom de son
auteur
➢ csh : C-Shell, développé à l’université
de Berkeley
➢ rsh , ksh , …
Pr. Khadija OUAZZANI TOUHAMI 67
Système Unix
68. Pr. Khadija OUAZZANI TOUHAMI 68
2. Structure du système
Le noyau offre les services de base
(interfaces système) pour construire les
commandes, les outils et les applications.
Une structure en couche
Système Unix
69. Pr. Khadija OUAZZANI TOUHAMI 69
Système Unix
Matériel
Noyau
Gestion mémoire, mémoire virtuelle, E/S, système de
fichiers, partage processeur, synchronisation, …
Interpréteur de commandes
ls, date, grep, sh, vi, …
Shell-script, Prog-c, Appli-oracle, …
Applications
cc, gnu, p, oracle, …
70. Autre façon de voir cette structure en couche
Pr. Khadija OUAZZANI TOUHAMI 70
Système Unix
Matériel
Noyau
Shell
User 1
Shell
User 2
Shell
User 3
…
71. 3. Techniques de développement
➢ Le langage Shell :
Une commande = un processus = une
fonction binaire en exécution.
➢ La redirection des E/S :
L’entrée et la sortie d’un processus peut
être redirigée sur un fichier.
Pr. Khadija OUAZZANI TOUHAMI 71
Système Unix
72. ➢ La communication inter processus :
La sortie d’un processus peut être redirigée
vers l’entrée d’un autre processus.
➢ La modularité :
La construction de Shell-Script qui peuvent
s’appeler les uns les autres, et qui peuvent
même s’appeler récursivement.
Pr. Khadija OUAZZANI TOUHAMI 72
Système Unix
74. 1. Le système de fichiers
➢ Structure arborescente
➢ 3 types de fichiers :
✓ Les fichiers simples ou ordinaires.
Un fichier simple est une séquence de
caractères (binaire, source, texte, …).
Pr. Khadija OUAZZANI TOUHAMI 74
Système Unix
75. Pas de signification ni de structure
imposée par le système.
C’est une suite d’octets qui n’a de
signification que pour l’utilisateur
ou pour une application donnée.
Pr. Khadija OUAZZANI TOUHAMI 75
Système Unix
76. Un nom de fichier peut être composé
de n’importe quel caractère
alphanumérique ainsi que « - », « _ » et
« . ».
Un nom de fichier peut être long d’au
plus 14 caractères.
Pr. Khadija OUAZZANI TOUHAMI 76
Système Unix
77. Exemples :
fiche-ancien, fiche-nouveau, archive.89,
SOURCE.c, essai.1, 2019.covid,
14.10.202O sont des noms de fichiers
corrects.
Pr. Khadija OUAZZANI TOUHAMI 77
Système Unix
78. fiche%.ancien, source!c sont des noms
incorrects.
F1.c et f1.c sont des noms de fichiers
différents.
N.B. : Unix fait la différence entre les
majuscules et les minuscules.
Pr. Khadija OUAZZANI TOUHAMI 78
Système Unix
79. ✓ Les fichiers répertoires :
Ils permettent de hiérarchiser les
fichiers suivant leur utilité.
Un répertoire est un fichier particulier
composé de la liste des noms de
fichiers qu’il contient et des numéros
d’inodes leur correspondant.
Pr. Khadija OUAZZANI TOUHAMI 79
Système Unix
80. Ces numéros d’inodes servent à
repérer l’inode d’un fichier.
Cet inode est constitué d’une liste
d’information sur le fichier :
- son type
- son nombre de liens
Pr. Khadija OUAZZANI TOUHAMI 80
Système Unix
81. - le numéro d’identification de
l’utilisateur propriétaire (uid)
- le numéro d’identification du groupe
de l’utilisateur propriétaire (gid)
- sa taille en octets
- sa date de création
Pr. Khadija OUAZZANI TOUHAMI 81
Système Unix
82. - sa date de dernier accès
- sa date de dernière modification
- son adresse de stockage
- …
Pr. Khadija OUAZZANI TOUHAMI 82
Système Unix
83. ✓ Les fichiers spéciaux et
périphériques
Les fichiers spéciaux servent à la gestion des
périphériques.
▪ Les terminaux
▪ Les imprimantes
▪ Les supports magnétiques
▪ Etc.
Ils se trouvent dans le répertoire /dev.
Pr. Khadija OUAZZANI TOUHAMI 83
Système Unix
84. Les fichiers représentant les terminaux ont
généralement le préfixe « tty », l’imprimante
en général « lp », les disques « hd », etc.
Exemple :
Afficher un caractère sur l’écran du
terminal 1 ne fait réellement qu’écrire dans
le fichier /dev/tty1.
Pr. Khadija OUAZZANI TOUHAMI 84
Système Unix
85. 2. Arborescence du système de
fichiers
Dans l’arborescence des fichiers sous
Unix, on trouve généralement, et
entre autres, les fichiers ou plutôt
répertoires suivants :
Pr. Khadija OUAZZANI TOUHAMI 85
Système Unix
86. /
bin etc dev usr lib tmp
bin lib tmp news man user-1 . . . User-n
Pr. Khadija OUAZZANI TOUHAMI 86
Système Unix
87. / : c’est la racine du système.
/bin : ce répertoire système contient la
majorité des commandes système pour
l’utilisateur (cat , ls , cp , …).
/etc : ce répertoire contient les fichiers et
commandes de l’administration système
(passwd , adduser , …).
Pr. Khadija OUAZZANI TOUHAMI 87
Système Unix
88. /dev : dans ce répertoire se trouvent les
fichiers périphériques (tty , lp , …)
/lib : contient les librairies de compilation
des différents langages (C , pascal , …)
/tmp : répertoire des fichiers temporaires
/usr : contient les espaces de travail des
différents utilisateurs
Pr. Khadija OUAZZANI TOUHAMI 88
Système Unix
89. /usr/bin : une extension de /bin
/usr/man : contient le manuel interactif
/usr/lib : une extension de /lib
/usr/news : contient les nouvelles éditées
par l’administrateur du système
/usr/tmp : répertoire des fichiers provisoires
des utilisateurs
Pr. Khadija OUAZZANI TOUHAMI 89
Système Unix
90. Remarque :
Les notations sont similaires à celles de
Dos.
Exemple :
/ usr / lib
Le « / » est un séparateur
Le « / » au début est « la racine » de l’arbre
au début de tout chemin absolu
Pr. Khadija OUAZZANI TOUHAMI 90
Système Unix
91. Schéma simplifié du système de fichiers
/
bin dev etc usr
date tty01 passwd
cat lp01 adduser
who hd01 …
… fd01
ms01
…
Pr. Khadija OUAZZANI TOUHAMI 91
Système Unix
93. Tout fichier est nommé par son chemin
d’accès (path name) dans l’arborescence.
Exemple :
/usr/users/paul/mbox
est la boîte aux lettres de l’utilisateur paul.
/usr/users/paul
est le répertoire de travail initial ou le
répertoire personnel de l’utilisateur paul.
Pr. Khadija OUAZZANI TOUHAMI 93
Système Unix
94. 2 types de chemins :
1) Chemin absolu
2) Chemin relatif
Pr. Khadija OUAZZANI TOUHAMI 94
Système Unix