Vous êtes sur la page 1sur 33

SE Bref aperu sur les systmes

dexploitation

Notes de cours

ZOUARI Moez Ecole Prive dIngnieurs de Sousse 2014/2015

3me anne Gnie Civil


Cycle Ingnieur
Cours de soir

Principes des systmes dexploitation


Les systmes Linux et Unix

[Titre du document]Bref aperu sur


les systmes dexploitation
1. Dfinition du systme dexploitation
2. Evolution historique des systmes dexploitation
3. Fonctions dun systme dexploitation
4. Architecture dun systme dexploitation

1. Dfinition du systme dexploitation


Il est assez difficile de donner une dfinition prcise de ce quest un systme
dexploitation. En effet, un systme dexploitation peut tre utilis sur micro-ordinateur comme
sur les plus grosses machines, aussi bien en ce qui concerne la complexit quen ce qui concerne
les fonctions offertes. On peut toutefois caractriser un systme dexploitation en mettant en
vidence un certain nombre de fonctions quil doit assurer.
Si on considre

les programmes excuts sur une machine, ils se repartissent

schmatiquement en deux classes :


Les programmes dapplications : crits et mis en uvre par des utilisateurs.
Les programmes utilitaires, gnralement

fournies par les constructeurs pour faciliter

lutilisation de la machine.
Ces programmes se droulent pour les comptes des divers utilisateurs devant progresser
en parallle. Il est ncessaire, alors, davoir un programme charg de grer directement les
ressources matrielles et de rpartir aux mieux entre les diffrents utilisateurs. Cette rpartition
constitue un des rles du systme dexploitation (le systme dexploitation est un gestionnaire
de ressources). Mais ce ci nest pas le seul rle du systme dexploitation .Sa prsence doit
aussi servir facilit la tache des utilisateurs, il simule donc pour eux, partir de la machine
relle une machine virtuelle plus facile utiliser.
Donc le systme dexploitation peut donc tre caractris par les deux fonctions
suivantes :
Rpartition des ressources matrielles.

SE Bref aperu sur les systmes


dexploitation

Simulation pour lutilisateur dune machine virtuelle.


Dune faon simplifi, on peut dfinir le systme dexploitation comme un ensemble de programmes qui
permettent dutiliser et dexploiter les ressources matrielles de lordinateur dune faon optimale afin doffrir linterface
adquate lutilisateur pour pouvoir excuter tous ces programmes dune faon transparence sans tenir compte de
toute complexit matrielle.
2. Fonctions dun systme dexploitation
La conception dun systme dexploitation implique la ralisation de plusieurs types de
fonctions, en particulier celle des services communs. La structuration de ces fonctions peut
mener une description du systme sous une forme monolithique en couche ou mieux encore
en clients/serveurs avec comme base un micro-noyau.
Sans rentrer dans les dtails des mthodes structurantes quon peut adopter pour raliser
un systme dexploitation, on peut dgager un certain nombre de fonctions essentielles. Il sagit
des fonctions suivantes.
3.1. Fonction utilitaires
Tout systme dexploitation comprend des programmes chargs de raliser des travaux
dexploitation standards de programmation ( diteur de texte, diteur de lien, configurateur,
metteur de point, gestionnaire de version,..), de gestion des fichiers ( formatage de
volumes, copie de volumes et de fichiers, tris de fichiers, conversion de support, archivage de
support, ), de gestion des tches dadministration du systme (gestion des mots de passe,
gestion des contrles daccs, installation de nouvelles applications ou version de logiciels,
outils dvaluation de performances,.), de gestion de tches dun bureau ( outils de
communication, outils bureautique tel que quun traitement de texte,)etc.
3.2. Mise en uvre du dialogue Homme/Machine
Une commande lance par un utilisateur peut tre formule de diverses manires : (un
texte saisir, un choix dans un menu, un double clic sur un icne prsent dans une fentre
dapplication, etc.). Pour tre traite par lordinateur, cette commande transite par un processeur
Z-M 2012-2013

Page 3

(logiciel) spcialise dans linterprtation des commandes. Son analyse par linterprteur peut
correspondre soit laffichage dun message derreur, soit au lancement du programme
correspondant. Lorsque le traitement dfinitif de la commande est termin, lordinateur est de
nouveau prt recevoir un nouvel ordre (une autre commande), cest ce qui est souvent indiqu
par un message prcis du systme, appel souvent prompt(invite) systme.
3.3. Gestion des donnes et des fichiers
Un fichier peut se dfinir comme un ensemble (une collection) de donnes de mme
nature codes et mmorises, pour les besoins de lutilisateur, sur un disque ou sur un autre
support de sauvegarde. Dun point de vue pratique, le fichier constitue le seul et unique moyen
pour sauvegarder des informations contenues dans la mmoire centrale de lordinateur et qui
autrement seraient perdues lors de larrt de cet ordinateur. Selon la nature des informations
contenues dans les fichiers, on distingue :
Les fichiers programmes : les informations quils contiennent sont des ordres utilisables
par lordinateur : ces ordres sont exprims dans un langage volu ou dans un langage
symbolique (on parle dans ces cas des fichiers sources), ou encore dans le langage (de la)
machine (on parle dans ce cas des fichiers binaires).
Les fichiers de donnes : ils contiennent des informations que lordinateur ne peut pas les
utilises directement. Ces donnes sont exploites, en gnral, par un fichier programme
associ. Les documents crs avec un traitement de texte illustre ce cas : ce sont des donnes
utilises travers le programme de traitement de textes
La gestion des fichiers est lensemble des actions relatives leur existence : cration,
duplication, dition, impression, recherche, destruction, compressions etc. Par extension, en
peut inclure dans cet ensemble toutes les fonctions de gestion des supports de sauvegardes. Ces
fonctions incluent par exemple le formatage de support et leur maintenance. La gestion des
donnes englobe les fonctions lies lutilisation des fichiers et leur partage mais aussi la
scurit et la confidentialit des informations quils contiennent.
3.4. Gestion des priphriques et des Entres/Sorties physiques
La notion de priphrique pour lordinateur peut tre abord de faon trs simple : en
effet, on constate que tous les lments dits priphriques ne sont souvent pas inclus dans le
botier de lunit centrale de lordinateur. Fonctionnellement, les units priphriques peuvent

SE Bref aperu sur les systmes


dexploitation

tre vues comme tant des lments permettant lordinateur de dialoguer avec lextrieur ou
encore comme des possibilits dextension de la mmoire centrale.
La gestion des priphriques regroupe lensemble des actions relatives leur emploi.
Ces fonctions concernent, dune part, le paramtrage de ces priphriques et, dautre part, leur
utilisation proprement dite.
La gestion des Entres/Sorties physiques sur les priphriques doit permettre dignorer
le plus grand nombre possible des diffrences qui existent entre les mmes types dunits
proposes par plusieurs constructeurs. Autrement dit, il faut que le gestionnaire
dEntres/Sorties puisse rendre transparente lutilisateur les lments caractristiques des
priphriques, en lui fournissant un modle virtuel auquel il peut sadresser.
3.5. Gestion de la mmoire centrale
Pour faire excuter un programme, on doit lui allouer un espace en mmoire centrale.
Cette mmoire doit alors englober ses donnes (les constantes et les variables quil dclare)
mais galement son code (les instructions qui le composent). Cependant, pour pouvoir
lexcuter, on a ncessairement besoin du systme dexploitation ou du moins de son noyau.
Ce dernier est galement un programme, il lui faut donc de lespace mmoire. Une premire
tache du gestionnaire de la mmoire consiste a rpartir la mmoire vive (RAM) en deux types
despaces : un espace utilisateur et un espace systme, et maintenir lintgrit de ces deux
espaces. Une fois charge en mmoire centrale, limage du programme donne lieu la
dfinition dun processus prt tre excut.
La gestion de mmoire centrale regroupe, dune manire plus gnrale, les divers
services de :
Rpartition de la mmoire disponible entre les diffrents processus actifs
Placement des processus dans lespace mmoire qui lui est alloue
Localisation des donnes pour chaque processus
Maintien de lintgrit des espaces rservs
Utilisation de la mmoire auxiliaire comme support annexe de la mmoire centrale
Z-M 2012-2013

Page 5

3.6. Gestion des processus et des processeurs


La gestion des processus regroupe donc divers service pour traiter les processus
demandant leur excution sur le processeur central. Outre la mise en uvre dun algorithme
dordonnancement qui peut tre avec ou sans rquisition du processeur central, ces service
manipule la liste des descripteurs de processus travers des fonctions diverses telle que : la
cration, la destruction, suspension ou encore la reprise de processus, mais galement celle qui
permette de dcrire la situation d exclusion mutuelle ou de synchronisation ou encore de
communication entre divers processus.

SE Prsentation des systmes dexploitation UNIX et Linux

Chapitre 1 :

Prsentation des systmes dexploitation UNIX et Linux

1. Introduction
2. Notion de logiciel libre
3. Les systmes UNIX et Linux
4. Architecture
5. Architecture
6. Langage de Commandes
7. Utilities
8. Connexion et dconnexion
9. Commandes

1. Introduction
Actuellement, on trouve sur le march essentiellement deux types de systme
dexploitation pour PC : les systmes Windows avec ses diffrentes versions de Microsoft est
les systmes Linux avec ses diffrentes distributions et versions. Les premiers systmes font
partie de la catgorie des logiciels propritaires, par contre les seconds font partie de la catgorie
des logiciels libres. Les systmes libres prsentent des nombreux avantages et offre un choix
non ngligeables vu la philosophie qui est lorigine. En effet, les logiciels libres, en gnral,
sont bass sur le principe dentre-aide pour dvelopper des solutions efficace moindre cot.
2. Notion de logiciel libre
Daprs la FSF (Free Software Fondation) un logiciel libre est dfinit comme un logiciel
qui garantit aux utilisateurs quatre liberts fondamentales :
La libert dexcuter le programme, pour tous les usages ;
La libert dtudier le fonctionnement du programme et de ladapter ses besoins ;

La libert de redistribuer des copies ;


La libert damliorer le programme et de publier ses amliorations
Cependant, tout logiciel qui ne garantisse pas ces quatre liberts est considr comme
propritaire.
Les logiciels libres couvrent un large domaine dapplication et dactivits, tel que les
systmes dexploitation, les compilateurs, les logiciels multimdias, les logiciels de gestion,
3. Les systmes UNIX et Linux
Le succs du systme Linux est fortement li celui dUNIX. Cependant, il ya lieu de
distinguer entre les deux systmes.
Unix est un systme dexploitation multitche et multiutilisateur. Dvelopp
initialement dans les laboratoires de Bell par Ken Thompson, il a t trs bien enrichi par les
rsultats de la recherche aprs avoir distribu le code source auprs des universits amricaines.
De ce fait, Unix a connu un grand succs et plusieurs versions du systme ont t dveloppes
fonctionnant sur diffrents types de machines.
Linux est un systme dexploitation diffrent dUnix qui est dvelopp par Linus Torvalds
et a t amlior par de nombreux dveloppeurs dans le monde entier. Il sagit dun systme
qui sinspire fortement du systme Unix et qui offre une interface presque similaire Unix
do lorigine de la confusion et lassociation entre les deux systmes. Linux a pris son succs
aprs lintgration de ce systme dans le projet GNU de Richard stallman et depuis, on
lappelait GNU/Linux qui est protg par le droit d'auteur conformment GNU General Public
License (GPL). C'est une licence crite par la Free software Foundation (FSF).
De ce fait, le cours sera consacr pour ltude du systme UNIX avec ses diffrents
concepts et principes puissants. Mais, ceci suppose implicitement ltude des concepts et
principes de Linux vue la forte ressemblance entre les deux.
4. Notion de distribution
Le fait que Linux est un systme dexploitation libre, plusieurs communauts1 ou
socits ont effectu des modifications sur le systme et les ont distribues. De ce fait, il existe
diffrentes distributions toutes base du noyau GNU/Linux et dautres logiciels libres.

Dans le contexte des logiciels libre, le terme de communaut dsigne l'ensemble des parties prenantes au
dveloppement et l'utilisation d'une base de code. La communaut est constitue de personnes (physiques,

SE Prsentation des systmes dexploitation UNIX et Linux

Une distribution se prsente sous forme de fichiers tlchargeables partir de sites ftp
ou supports CDs (ou DVD). Une distribution rassemble les composants du systme dans un
ensemble cohrent et stable dont l'installation, l'utilisation et la maintenance sont de plus en
plus facilites grce des interfaces suffisamment conviviales. Il existe de nombreuses
distributions, chacune ayant ses particularits : certaines sont ddies un usage spcifique
(pare-feu, routeur, grappe de calcul, etc.), d'autres un matriel spcifique, un environnement
particulier (embarqu), etc.
Parmi les distributions quon peut rencontrer et qui sont trs utilises, on trouve debian,
fedora, suse, ubuntu
5. Architecture
Unix tout comme Linux est un systme dexploitation organis en couches quasi
indpendantes les unes des autres. Ces couches constituent linterface entre lutilisateur et le
matriel. En voici une vue simplifie :

Figure 1 Architecture du systme UNIX

ventuellement morales) allant des core developers qui maintiennent la base de code et prennent les dcisions techniques
importantes aux simples utilisateurs, en passant par les contributeurs, qui peuvent aider l'effort collectif en dtectant des
bugs, proposant des correctifs ou aidant des tches telles que la documentation. Dans ce contexte, le
mot communaut est une traduction directe de l'anglais amricain community et pourrait tre presque un anglicisme. Il
semble que la notion de community telle qu'utilise aux tats-Unis soit d'un usage plus large, plus neutre et plus banal
que celui de communaut en franais, telle que comprise en France.

Z-M 2012-2013

Page 9

Le noyau (Kernel) gre, principalement, les composants matriels :


la mmoire
les disques
les autres priphriques dentre/sorties
les processus
Le noyau est la partie rsidante du systme dexploitation, elle est toujours charg en
mmoire, il offre plusieurs fonctions, appels primitives, permettant manipulation proche du
matriel. Le noyau est le seul programme autoris accder directement au matriel. Toute
application doit, alors faire appel aux primitives du noyau pour effectuer des manipulations sur
le matriel.
6. Langage de Commandes
L'utilisateur peut taper des commandes lorsqu'il se trouve au niveau commande, c'est-dire lorsque l'invite du systme apparat. Toute commande entre sera interprte par
l'interprteur de commandes (ou shell). Le terme shell veut dire coquille pour exprimer l'ide
d'interface entre utilisateurs et systme UNIX et a t donn par opposition au noyau du
systme.
Le SHELL est la partie merge de liceberg. Son Interprteur de Commandes permet
dinteragir (directement ou non) avec lutilisateur. Il en existe plusieurs versions, plus ou moins
disponibles suivant les versions dUnix :
sh : Bourne shell, le shell historique
csh : C-shell, la syntaxe inspiredu C
ksh : Korn shell, une version mixte des 2 prcdentes
bash : Bourne-again shell, LE shell Linux
Trois phases pour lexcution dune commande :
Lecture dune commande
Analyse syntaxique (vrifier si la commande est rdige correctement)
Excution si aucune erreur de syntaxe
7. Utilities

SE Prsentation des systmes dexploitation UNIX et Linux

Les Utilities ou utilitaires sont les programmes utiles mais qui ne sont pas obligatoire
qui doivent tre fournies par le systme dexploitation tel que : Le lecteur media, ou loutil de
gravure, le navigateur, un diteur de texte,
8. Connexion et dconnexion
Un utilisateur doit tre enregistr auprs de systme pour quil puisse se connecter. Les
informations didentit doivent tre prsentes dans des fichiers particuliers grs par
l'administrateur du systme.
9. Commandes
9.1.

Syntaxe des commandes

Celle-ci est gnralement la suivante :


nom_commande [options] [arguments]

Le caractre sparateur entre les diffrents lments de la commande est le blanc


(ESPACE). Les options commencent habituellement par le caractre - (signe moins) suivi d'une
ou plusieurs lettres-cls. Ces options vont modifier le comportement de la commande. Les
arguments spcifient les objets (fichiers ou variables) sur lesquels la commande va s'appliquer.
Note : les crochets autour des arguments et des options signifient que ceux-ci sont optionnels.
Ex : liste de fichiers avec les commandes suivantes :
ls
ls -l
ls -la

(l comme long, donne tous les attributs des fichiers)


(a comme all, liste aussi les fichiers commenant

par le caractre .)
ls -l rep1

9.2.

Manuel des commandes

Z-M 2012-2013

Page 11

Si on veut de l'aide sur les rgles d'utilisation ou encore sur les fonctionnalits d'une
commande, on peut utiliser l'aide en ligne grce la commande man (comme MANual pages)
de la faon suivante :
man nom_commande
Exemple :
man ls
man man

Si on ne connat pas la syntaxe de la commande, il est possible de faire une recherche


par mot-cl dans le systme de "manual pages") l'aide de la commande suivante :
man -k mot-cl

man -k list
man -k directories

9.3.

Caractres gnriques

Certaines commandes acceptent plusieurs noms de fichiers en arguments aussi, il tait


intressant d'avoir des notations permettant de raccourcir l'criture d'une telle liste. Ainsi, il
existe plusieurs caractres gnriques qui, incorpors dans les noms de fichiers, ont la
signification suivante :
Le caractre ? qui peut remplacer n'importe quel caractre ;
Le caractre * (Astrisque) qui peut remplacer n'importe quelle chane de caractres, y
compris la chane vide.

EPI Systmes dexploitation

Chapitre 2 :

Le SGF Linux/Unix

1. Introduction
2. Organisation physique des fichiers sur disque
3. Rpertoires et liens vers les fichiers
4. La hirarchie des fichiers sous Linux
5. Chemin daccs au fichier
6. Les droits daccs aux fichiers
7. Les principales commandes de manipulation des fichiers

1. Introduction

Un fichier est ensemble d'informations regroupes en vue de leur conservation et de leur


utilisation dans un systme informatique. Un fichier peut contenir diffrents types des
informations :
Programmes : fichier binaire excutable, script , byte code, ,
Donnes : fichiers ASCII, binaires, images, son, fichiers dadministration (/etc/passwd),,
Comme il a t dj prsent, le SGF (Systme de Gestion de Fichier) est la partie du
systme dexploitation responsable de stockage des donnes dune faon efficace et correcte.
Le systme doit implmenter, alors, toutes commandes ncessaires pour la manipulation des
fichiers (cration, modification, copie, )
Le systme de gestion de fichiers est, donc, un outil de manipulation des fichiers et de
la structure darborescence des fichiers sur disque et a aussi de conserver toutes les informations
associs. Le systme de gestion de fichier permet, donc, une manipulation simple des fichiers.
2. Organisation physique des fichiers sur disque

EPI Systmes dexploitation

2.1.

Principe de lecture/criture sur support de stockage

Avant, dtudier le principe de lorganisation des fichiers, nous rappelons dabord, le


principe dutilisation des disques.
Le disque dur est un composant lectromcanique qui permet de lire et dcrire une suite
binaire dune faon permanente.

Figure 2 Principe de fonctionnement d'un disque dur

Comme il prsent sur la figure, Lcriture et la lecture se fait sur les piste traces sur la
surface de chaque plateau. Chaque piste est dcompose en secteurs spars par des espace vide
appel gap pour permettre le freinage de la tte de llecture/criture. Un secteur reprsente
la plus petite unit physique de lecture/criture. On peut cependant lire plusieurs secteurs en
mme temps, on parle alors, dunit logique de lecture/criture appel bloc ou cluster.
A partir de ce moment, on peut considrer donc un disque comme tant un ensemble de
blocs successifs.
Super-

Super-

Table

Blocs de

bloc

bloc

dinodes

donnes

Bloc0

Bloc1

..
Figure 3 Schma simplifi dun disque

Bloc n-1

Bloc n

SE La gestion des processus

Le bloc 0 contient gnralement le BOOT du systme dexploitation, cest les


instructions qui permettent le lancement du systme dexploitation. Le Bloc 1, appel aussi
Super-Bloc contient les informations sur le SGF ( taille du bloc, espace libre, taille du disque,
type de SGF, ).
De la mme manire, tous les supports de stockage, sont utiliss selon le mme
principe : la lecture criture se fait toujours en BLOC.
2.2.

Principe de stockage sur mmoire secondaire

Diffrentes mthodes permettent d'associer un nom de fichier son contenu. Dans le


cas des systmes de fichier dUNIX (ou de Linux), les fichiers et les rpertoires sont identifis
par un numro unique, le numro d'INODE. Ce numro permet d'accder une structure de
donnes (INODE) regroupant toutes les informations sur un fichier l'exception du nom,
notamment la protection d'accs en lecture, en criture ou des listes de dates, ainsi que le moyen
d'en retrouver le contenu. Le nom est stock dans le rpertoire associ un numro d'inode.
Cette organisation prsente l'avantage qu'un fichier unique sur disque peut tre connu du
systme sous plusieurs noms.
De point de vue SGF, un Fichier reprsente un ensemble de blocs parpills sur le
support. Pour pouvoir retrouver ces blocs, on utilise linode, qui contient toutes les informations
qui caractrisent le fichier (droits daccs, propritaire, Groupe Propritaire, dates de dernier
accs et de modification, taille du fichier, nombre de blocs utiliss par le fichier, type de fichier,
etc.) ainsi que lemplacement physique des diffrents blocs qui constituent le fichier (les
numros des blocs occups par le fichier).
Toutes les inodes sont regroupes dans une table quon appelle table dinodes. Cette
table trouve dans un bloc bien dfini, gnralement le bloc N3.
3. Rpertoires et liens vers les fichiers
Dans lobjectif, de faciliter laccs aux fichiers et leur recherche, les fichiers sont
gnralement regroups dans des rpertoires, et eux-mmes sont regroups dans dautres
rpertoires. La majorit des SGF offrent une structure arborescente pour organiser les fichiers.
Pour accder un fichier, il faut spcifier son chemin daccs, c'est--dire, la liste des
rpertoires par lesquels il faut passer pour atteindre la cible. Selon la logique UNIX, Un
Z-M 2012-2013

Page 15

EPI Systmes dexploitation

rpertoire est, en fait, un fichier qui contient la liste des noms de fichiers/rpertoires quil
contient et leurs numros inode. Le rpertoire, peut tre vu, donc, comme un ensemble des liens
vers des fichiers. En effet, partir du nom du fichier, on dtermine le numro de son inode et
partir de ce numro, on peut retrouver toutes les donnes ainsi que les caractristiques de ce
fichier.
En plus, des rpertoires qui offrent de liens appels dur ou physique, Unix offre dautres
types de lien aux fichiers, quon appelle Liens symbolique. Un lien symbolique est un fichier
contenant un numro dinode cest faon doffrir un deuxime lien pour accder un fichier.
4. La hirarchie des fichiers sous Linux
Pour assurer la compatibilit et la portabilit, les systmes Linux utilise une hirarchie
standard de rpertoire en respectant norme FHS (File Hierarchy Standard). La hirarchie de
base est la suivante :
/

la racine, elle contient les rpertoires principaux


/
bin

utilisateurs (par exemple, les commandes ls, rm, cp ...)


/

boot
/
dev
/
etc

contient les fichiers permettant Linux de dmarrer

contient les points d'entre des priphriques

contient les commandes et les fichiers ncessaires l'administrateur du


systme (fichiers passwd, group, inittab, ld.so.conf, lilo.conf, ...)

/etc/X11

/etc/opt

/
home
/
lib

contient

les

fichiers

spcifiques

la

configuration

de

(contient XF86Config par exemple)


contient les fichiers de configuration spcifiques aux applications installs
dans /opt

rpertoire personnel des utilisateurs

contient des bibliothques partages essentielles au systme lors du


dmarrage

/
mnt

contient des excutables essentiels au systme, employs par tous les

contient les points de montage des partitions temporaires (cd-rom,


disquette, ...)

SE La gestion des processus

contient des packages d'applications supplmentaires

opt
/

rpertoire de l'administrateur root

root
/

contient

sbin

les

binaires

systme

essentiels

(par

exemple

la

commande adduser)
/

contient les fichiers temporaires

tmp
/

Hirarchie secondaire

usr
/usr/X11R6

ce rpertoire est rserv au systme X version 11 release 6

/usr/X386

utilis avant par X version 5, c'est un lien symbolique vers /usr/X11R6

/usr/bin

contient la majorit des fichiers binaires et commandes utilisateurs

/usr/include

contient les fichiers d'en-tte pour les programmes C et C++

/usr/lib

contient la plupart des bibliothques partages du systme


contient les donnes relatives aux programmes installs sur la machine

/usr/local

locale par le root


/usr/local/bin

binaires des programmes locaux

/usr/local/games

binaires des jeux locaux

/usr/local/include fichiers d'en-tte C et C++ locaux


/usr/local/lib

Bibliothques partages locales

/usr/local/sbin
binaires systme locaux
/usr/local/share

hirarchie indpendante

/usr/local/src

fichiers sources locaux

/usr/sbin

contient les fichiers binaires non essentiels au systme rservs


l'administrateur systme

/usr/share

rserv aux donnes non dpendantes de l'architecture

/usr/src

contient des fichiers de code source

Z-M 2012-2013

Page 17

EPI Systmes dexploitation

contient des donnes variables

var

5. Chemin daccs au fichier :


Pour designer un fichier donn, il faut spcifier son chemin daccs. Il sagit de liste des
rpertoires par lesquels, il faut passer pour le retrouver, en dautre terme, ile faut spcifier son
emplacement dans larborescence. Dun point vue pratique, un chemin est une liste des noms
de rpertoires spars par le caractre /. Cette liste commence par un repertoire spcifique
connu par le systme. Ceux rpertoires sont :
/ : la racine de larborescence. Gnralement il est dcrit par linode numro 2.
. : le rpertoire actif ou courant. On lappelle aussi le rpertoire de travail.
.. : le rpertoire parent du rpertoire actif.
~ : le rpertoire personnel du lutilisateur connect.
~nom_utilisateur : le rpertoire personnel de lutilisateur dont le nom est spcifi aprs le
caractre ~.
On appelle un chemin absolu, un chemin qui commence par le rpertoire racine /.
Alors quun chemin relatif commence par le rpertoire courant ..
6. Les droits daccs aux fichiers
Chaque fichier (ou rpertoire) possde un ensemble d'attributs dfinissant les droits
d'accs ce fichier pour tous les utilisateurs du systme ainsi quun utilisateur propritaire et
un groupe dutilisateurs propritaire.
5.1.

Classes d'utilisateurs

Il existe 3 classes d'utilisateurs pouvant ventuellement accder un fichier :


Le propritaire du fichier (User) ;
Le groupe dans lequel appartient le propritaire (Group) ;
Les autres (Others).
A sa cration, un fichier appartient son auteur. Le propritaire du fichier peut ensuite
distribuer ou restreindre les droits d'accs sur ce fichier.
5.2.

Types d'accs

SE La gestion des processus

Pour chaque classe d'utilisateurs, il y a 3 types d'accs un fichier donn :


r : en lecture (Read) ;
w : en criture (Write) ;
x : en excution (eXecute).
Au niveau rpertoire, ces droits signifient :
droit de lister les fichiers prsents dans ce rpertoire (Read) ;
droit de crer ou de dtruire un fichier qui s'y trouve (Write) ;
droit de traverser ce rpertoire (eXecute).
En combinant les 3 types d'accs et les 3 classes d'utilisateurs, il y a donc 9 droits d'accs
diffrents qui existent sous UNIX.

6. Les commandes de manipulation des fichiers


6.1.

Liste des fichiers

On utilise pour cela la commande ls avec ses nombreuses options.


Ls [options] [fichier ]
6.2.

Cration d'un fichier

Habituellement, on utilise un diteur de textes. Ici, on suppose que l'utilisateur ne sait


utiliser aucun des diteurs et qu'en attendant, il a la recette suivante pour crer un petit fichier:
cat > nom_fichier
1re ligne
2me ligne
.
.
dernire ligne

Z-M 2012-2013

Page 19

EPI Systmes dexploitation

^D

Avec cette commande, si le fichier existe dj, son prcdent contenu est dtruit.
6.3.

Destruction d'un fichier

rm [options] nom_fichier
Quelquefois, le systme demande confirmation avant d'effacer un fichier et si la rponse
de l'utilisateur ne commence pas par 'y' ou 'Y' alors le fichier est prserv. Pour cela, il faut
utiliser loption i.
6.4.

Visualisation d'un fichier

Plusieurs commandes diffrentes fonctionnalits permettent la visualisation d'un


fichier mais les plus usuelles sont :
cat nom_fichier
more nom_fichier
Less nom_fichier
Les commandes less et more permettent un affichage page par page (h pour connatre
les commandes possibles de more, RETURN pour la ligne suivante, ESPACE pour la page suivante
et q pour terminer l'affichage).
6.5.

Copie d'un fichier

cp chemin_source

Chenmin_destination

chemin : peut tre le chemin dun fichier ou dun rpertoire.


6.6.

Renommage ou dplacement d'un fichier

mv ancien_nom nouveau_nom

(renommage)

mv nom_fichier nom_rpertoire

6.7.

(dplacement)

Cration d'un rpertoire

mkdir nom_rpertoire

Elle est possible uniquement si celui-ci est inexistant.

SE La gestion des processus

6.8.

Destruction d'un rpertoire

rmdir nom_rpertoire

Si le rpertoire est vide


rm -r nom_rpertoire

-r comme rcursif : effacement du contenu du rpertoire et de lui-mme)

6.9.

Visualisation des droits d'accs

ls -l
Pour cela, on utilise la commande ls -l. Le 1er caractre spcifie si le fichier est un
rpertoire (caractre d) ou un fichier tout court (caractre -). Les 9 caractres suivants
identifient les droits d'accs (prsence du droit si lettre r, w ou x ; absence de droit si caractre
-) et sont structurs de la faon suivante :
$ls -l
total 7
-rw------- 1 moez 49 Sep 18 12:37 fic
-rw------- 1 moez 50 Sep 18 12:35 fic1
-rw------- 1 moez 50 Sep 18 12:37 fic2
-rw------- 1 moez 50 Sep 18 12:37 fic3
-rw------- 1 moez 51 Sep 18 12:38 fic33

6.10. Modification des droits d'accs


Seul, le propritaire d'un fichier peut modifier ses droits d'accs. Pour cela, il utilise la
commande chmod avec la syntaxe suivante :
chmod mode nom_fichier
mode

indique de quelle faon les droits d'accs doivent tre modifis. Il se dcompose

en [qui] op accs.
Z-M 2012-2013

Page 21

EPI Systmes dexploitation

qui

(optionnel) indique quelles classes sont concernes par la commande chmod et est

compos de 1 ou plusieurs lettres parmi u, g et o. Si aucune classe n'est spcifie, toutes les
classes sont concernes.
op

peut tre :

pour ajouter des droits d'accs

pour enlever des droits d'accs

accs

est une combinaison des lettres r, w et x qui spcifient les types d'accs.

$ls -la rep3


total 3
drwx------ 2 moez 512 Sep 21 21:30 .
drwxr--r-x 8 moez 512 Sep 21 21:30 ..
-rw------- 1 moez 50 Sep 21 21:30 fic1
$ chmod u-r rep3
$ ls -la rep3
rep3 unreadable
$ ls -la fic2
-rw-rw---- 1 moez 101 Sep 18 19:15 fic2
$ fic2
fic2: Permission denied.
$

chmod +x fic2

$ ls -la fic2
-rwxrwx--x 1 moez 101 Sep 18 19:15 fic2
$ fic2

6.11. Initialisation des droits d'accs


Au moment o l'utilisateur cre un fichier, des droits d'accs par dfaut sont donns
ce fichier. C'est la commande umask qui permet de dfinir la protection maximale que l'on
donne par dfaut aux nouveaux fichiers. La syntaxe est la suivante : umask masque.

SE La gestion des processus

masque est une valeur octale qui joue le rle de masque sur les droits d'accs d'un fichier

sa cration. Les droits d'accs sont dtermins sont obtenus aprs l'opration logique suivante
: mode & (~masque) avec &, le ET logique et ~ le NON logique.
En standard, une commande shell de cration de fichier, comme cat > nom_fichier
(ce fichier n'existant pas) initialise le mode de ce fichier rw-rw-rw-. C'est ce mode par
dfaut qu'est appliqu le masque.

EXEMPLE :
umask 22

(le masque est ici, 022, soit en codage binaire, 000 010 010

=> les fichiers crs auront la protection rw-r--r--).


umask 77

(le masque est ici, 077, soit en codage binaire, 000 111 111

=> les fichiers crs auront la protection rw-------).

Note : au moment de l'initialisation de la session de travail, une valeur de masque est dfinie. Pour connatre
la valeur du masque, il suffit d'utiliser la commande umask sans arguments.
La commande chmod n'est pas affecte par la valeur du masque.

Z-M 2012-2013

Page 23

EPI Systmes dexploitation

Chapitre 3 :

Les utilitaires

2. Introduction
3. L'diteur vi
4. Les filtres
5. Autres commandes

1. Introduction
Cette partie dcrit quelques commandes utilitaires UNIX trs pratiques. Ces
programmes sont livrs en standard avec toutes les versions d'UNIX.
Nous commenons par dcrire l'utilisation de l'diteur standard vi.
2. L'diteur vi
vi

est un diteur de texte plein cran (par opposition aux diteurs ligne qui ne

permettaient que l'dition d'une ligne la fois).


Compar aux diteurs modernes, vi est d'abord malcommode, mais il est assez puissant
et toujours prsent sur les systmes UNIX. Il est donc trs utile d'en connatre le maniement de
base. Nous ne dcrivons ici que les commandes et modes les plus utiliss, il en existe beaucoup
d'autres.
A un instant donn, vi est soit en mode commande, soit en mode insertion :

SE La gestion des processus

mode commande : les caractres taps sont interprts comme des commandes
d'dition. vi dmarre dans ce mode, il faut donc lui indiquer (commande 'i') que
l'on veut insrer du texte;

mode insertion : les caractres sont insrs dans le texte dit. On peut quitter ce
mode en pressant la touche ``ESC'' (ou ``Echap'' sur certains claviers).
Appel de vi

depuis le shell :

vi fichier

dite fichier.

vi +n fichier

commence la ligne n.

vi

rcupration du fichier aprs un crash.

-r fichier

Mouvements du curseur (en mode commande seulement) :


Touche

Action

flches

Dplace curseur (pas toujours bien configur).

ESPACE

Avance droite.

Recule gauche.

CTRL-n

Descend d'une ligne.

CTRL-p

Monte d'une ligne.

CTRL-b

Monte d'une page.

CTRL-f

Descend d'une page.

nG

Va la ligne n (n est un nombre).


Commandes passant en mode insertion :

Touche Commence l'insertion


I

Avant le curseur.

Au dbut de la ligne.

A la fin de la ligne.
Autres commandes :

Z-M 2012-2013

Page 25

EPI Systmes dexploitation

Remplace le caractre sous le curseur.

Supprime un caractre.

d$

Efface jusqu' la fin de la ligne.

dd

Efface la ligne courante.

/chane

Cherche la prochaine occurrence de la chane.

?chane

Cherche la prcdente occurrence de la chane.

Quitter, sauvegarder : (terminer la commande par la touche ``Entre'')


:w

crit le fichier.

:x

crit le fichier puis quitte vi.

:q!

Quitte vi sans sauvegarder les changements.

!!commande

Excute commande shell sans quitter l'diteur.

3. Les filtres

Les filtres sont des utilitaires qui permettent de slectionner une partie dun
fichier selon un certain critre..
head [-n] [fichier]

Affiche les n premires lignes du fichier. Si aucun fichier n'est spcifi, lit sur
l'entre standard.
tail [+n -n] [ fichier]

La forme tail
forme tail

-n

+n

permet d'afficher un fichier partir de la ligne n. La

affiche les n dernires lignes du fichier. Si aucun fichier n'est

spcifi, lit sur l'entre standard.


grep [option] motif

fichier1 ... fichiern

Affiche chaque ligne des fichiers fichieri contenant le motif motif. Le motif
est une expression rgulire.

SE La gestion des processus

affiche les lignes qui ne contiennent pas le motif.

Options : -v
-c

seulement le nombre de lignes.

-n

indique les numros des lignes trouves.

-i

ne distingue pas majuscules et minuscules.

cut : slection de colonnes


La commande cut prsente 2 formes suivant que l'on slectionne des colonnes de
caractres

ou

qu'on

distingue

des

champs

spars

par

un

caractre

prcis.

slection_colonne

cut

-c(slection_colonnes)

[fichiers]

Exemples
Affiche le 5ime caractre
cut -c5 fichier
affiche

du

5ime

au

10me

caractres

cut -c5-10 fichier


affiche

le

5ime

et

le

10me

caractres

cut -c5-10 fichier


affiche

partir

du

5ime

(jusqu'

la

fin)

cut -c5- fichier


slection champs

cut -d(sparateur) -f(slection_champs) [fichiers]


4. La redirection
Lors de l'excution d'une commande (shell, programme, etc.) il y a deux sorties
disponibles, la sortie standard stdout sur le canal 1 et la sortie des erreurs stderr sur le
canal 2. En plus, les donnes utilises par la commande sont cherches sur lentre standard,
soit le canal 0, dfaut des donnes en arguments. Ces canaux sont accessibles pour rediriger
les flux de donnes. Dune faon gnrale, une commande peut tre reprsente de la

suivante :
Z-M 2012-2013

Page 27

EPI Systmes dexploitation

stdin

stdout
Commandes arguments
(1)

(0)

stderr
(0)

Par dfaut stdin correspond au clavier, alors que, stdout et stderr correspondent
lcran. En effet, lorsque l'on excute un programme, les donnes sont donc lues partir du
clavier et le programme envoie sa sortie et ses erreurs sur l'cran, mais il est possible de lire les
donnes partir de n'importe quel priphrique d'entre, voire partir d'un fichier et d'envoyer
la sortie sur un priphrique d'affichage, un fichier, etc.
Linux possde des mcanismes permettant de rediriger les entres-sorties standards vers
des fichiers.
Ainsi, l'utilisation du caractre > permet de rediriger la sortie standard d'une
commande situe gauche vers le fichier situ droite :
ls -al /home/jf/ > toto.txt
echo "Toto" > /etc/monfichierdeconfiguration
La commande suivante est quivalente une copie de fichiers :
cat toto > toto2
La redirection > a pour but de crer un nouveau fichier. Ainsi, si un fichier du mme
nom existait, celui-ci sera cras. La commande suivante cre tout simplement un fichier vide :
> fichier
L'emploi d'un double caractre >> permet de concatner la sortie standard vers le
fichier, c'est--dire ajouter la sortie la suite du fichier, sans l'craser.
De manire analogue, le caractre < indique une redirection de l'entre standard. La
commande suivante envoie le contenu du fichier toto.txt en entre de la commande cat, dont le
seul but est d'afficher le contenu sur la sortie standard (exemple inutile mais formateur) :

SE La gestion des processus

cat < toto.txt


Enfin l'emploi de la redirection << permet de lire sur l'entre standard jusqu' ce que
la chane situe droite soit rencontre. Ainsi, l'exemple suivant va lire l'entre standard jusqu'
ce que le mot STOP soit rencontr, puis va afficher le rsultat :
cat << STOP
5. Les Tubes de communication (pipes)
Les tubes (en anglais pipes , littralement tuyaux) constituent un mcanisme de
communication propre tous les systmes UNIX. Un tube, symbolis par une barre verticale
(caractre |), permet d'affecter la sortie standard d'une commande l'entre standard d'une
autre, comme un tuyau permettant de faire communiquer l'entre standard d'une commande
avec la sortie standard d'une autre.
Ainsi dans l'exemple suivant, la sortie standard de la commande ls -al est envoye sur le
programme sort charg de trier le rsultat par ordre alphabtique :
ls -al | sort
Il est possible de cette faon de chaner un certain nombre de commandes par tubes
successifs. Dans l'exemple suivant la commande affiche tous les fichiers du rpertoire courant,
slectionne les lignes contenant le mot "zip" (grce la commande grep) et compte le nombre
de lignes total :
ls -l | grep zip | wc -l
6. Autres commandes
find [options]
Cette commande permet de retrouver dans un rpertoire ou une hirarchie de rpertoires
les fichiers possdant certaines caractristiques (nom, droits, date etc..) ou satisfaisant une
expression boolenne donne.
find parcourt rcursivement une hirarchie de fichiers. Pour chaque fichier rencontr,
find teste successivement les prdicats spcifis par la liste d'options, jusqu'au premier qui
choue ou jusqu' la fin de la liste.
Z-M 2012-2013

Page 29

EPI Systmes dexploitation

Principales options :
-name nom
le fichier ce nom;
-print
crit le nom du fichier (russit toujours);
-exec
Excute une commande. {} est le fichier courant. Terminer par ; .
-type
(d: catalogue, f: fichier ordinaire, p: pipe, l: lien symbolique).

Exemples :
#

Recherche tous les fichiers nomms "essai"

partir de la racine

find / -name essai -print

Recherche tous les fichiers commenant par "ess"

a partir du repertoire courant

find. -name 'ess*' -print

Affiche a l'ecran le contenu de tous les fichiers .c

find . -name '*.c' -print -exec cat '{}' \;


(l'criture de ce dernier exemple est complique par le fait que le shell traite
spcialement les caractres *, {, et ;, que l'on doit donc entourer de quotes '.)
man [n] commande
Affiche la page de manuel (aide en ligne) pour la commande. L'argument n permet de
spcifier le numro de la section de manuel (utile lorsque la commande existe dans plusieurs

SE La gestion des processus

sections). Les numros des sections sont : 1 (commandes utilisateur), 2 (appels systmes), 3
(fonctions librairies C), 4 (devices), 5 (formats de fichiers), 6 (jeux), 7 (divers), 8

(administration) et n (new, programmes locaux).


more [fichier]
Affiche un fichier page par page (aide en ligne, taper 'h'). Si aucun fichier n'est spcifi,
lit sur l'entre standard.
wc [-cwl] [fichier ...]
Affiche le nombre de caractres, mots et lignes dans le(s) fichier(s). Avec l'option -c, on
obtient le nombre de caractres, avec -w, le nombre de mots (words) et avec -l le nombre de
lignes.
which commande
Indique le chemin d'accs du fichier lanc par ``commande''.
who [am i]
Liste les utilisateurs connects au systme. La forme who am i donne l'identit de
l'utilisateur.
sort [-rn] [fichier]
Trie les lignes du fichier, ou l'entre standard, et crit le rsultat sur la sortie. L'option r renverse l'ordre du tri, l'option -n fait un tri numrique.
7. Les commandes d'archivage et de (d)compression
Gnralement, il est ncessaire de pouvoir conserver des donnes pour sauvegarde ou
envoi un autre utilisateur. Le moyen le plus simple est de crer une archive, c'est dire un
fichier form de la concatnation de plusieurs fichiers ou rpertoires en un seul. Cette archive
peut ensuite tre compresse pour envoi par courrier lectronique ou copie sur disquette, par
exemple.

Archivage des donnes :

Z-M 2012-2013

Page 31

EPI Systmes dexploitation

o tar

Compression des donnes :


o Gzip

Dcompression des donnes :


o Gunzip

tar
Archivage des donnes
tar [-ctx][v]f

cible

source

Contrairement la grande majorit des commandes Unix, l'ordre des arguments


est cible puis source.
Type d'action :

-c : cration d'une archive.

-t : liste le contenu d'une archive.

-x : extraction d'une archive.

Options principales :

v : la commande affiche au fur et mesure tout ce qu'elle fait.

f : prcise le nom du fichier cible.

NB : un fichier archiv par tar est reconnu comme de type USTAR

tar archive

commande file
gzip
Compresse des donnes.
gzip [-h][-rtv] source
Options principales :

-h : affiche la liste des options de gzip.


-r : rcursif. Dans ce cas source est un rpertoire et non et fichier.
-t : teste l'intgrit d'un fichier compress.
-v : la commande affiche au fur et mesure tout ce qu'elle fait.
-1 : compresse plus vite. Le rsultat est plus gros.

par la

SE La gestion des processus

-9 : compresse mieux mais plus lentement.


un fichier compress par gzip est gnralement suffix par .gz et reconnu comme de

type gzip compressed data par la commande file .


gunzip
Dcompresse des donnes.
gunzip [-h][-tv][-S suf] source.gz
Options principales :

-h : affiche la liste des options de gunzip.


-t : teste l'intgrit du fichier compress.
-v : la commande affiche au fur et mesure tout ce qu'elle fait.
-S suf : autorise le suffixe .suf au lieu de .gz
NB : gunzip ne s'applique qu'aux fichiers reconnus comme de type gzip compressed

data

par la commande file c'est dire crs par gzip.

Z-M 2012-2013

Page 33