0% ont trouvé ce document utile (0 vote)
220 vues22 pages

Cours Unix

Transféré par

Harouna Coulibaly
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
220 vues22 pages

Cours Unix

Transféré par

Harouna Coulibaly
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2

Outils Informatiques pour le Calcul Scienti que


Marc BUFFAT Universit Claude Bernard Lyon I Laboratoire de m canique des uides et acoustique Bat 721, UCB Lyon I, Villeurbanne

TABLE DES MATI RES

TABLE DES MATI RES 3.9 Les r seaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Les outils UNIX

Table des mati res


1 Introduction
1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Architecture

2.1 Architecture hardware . . . . . 2.1.1 L'unit centrale ou CPU 2.1.2 La m moire centrale . . 2.1.3 Les p riph riques . . . . 2.2 Le syst me UNIX . . . . . . . .

9 9 10 11 11

3 Introduction UNIX

3.1 Introduction . . . . . . . . . . . . . 3.2 Le shell . . . . . . . . . . . . . . . 3.3 Fichiers et r pertoires . . . . . . . . 3.3.1 les droits d'acc s . . . . . . 3.3.2 les liens sur les chiers . . . 3.4 R sum des commandes de base . . 3.5 Utilisation du shell . . . . . . . . . 3.5.1 les caract res g n riques . . 3.5.2 les entr es sorties . . . . . . 3.5.3 le contr le de processus . . . 3.6 Editeur de texte . . . . . . . . . . . 3.7 La programmation du shell . . . . . 3.7.1 les variables . . . . . . . . . 3.7.2 les structures de contr le . . 3.7.3 les programmes du shell . . 3.7.4 les chiers de con gurations 3.8 L'environnement X Window . . . .

13

13 14 15 15 16 16 19 19 20 20 21 22 22 23 25 26 26

4.1 Introduction . . . . . . . . . . . . . . . . . 4.1.1 Expressions r guli res . . . . . . . 4.1.2 Quelques ltres . . . . . . . . . . . 4.2 awk langage de traitement d'expressions 4.3 bc langage pour le calcul num rique . . . 4.4 Exemple 1 . . . . . . . . . . . . . . . . . . 4.4.1 Calcul de l'int grale . . . . . . . . . 4.4.2 Programme d'analyse . . . . . . . . 4.5 application . . . . . . . . . . . . . . . . . . 4.6 Exemple 2 . . . . . . . . . . . . . . . . . . 4.6.1 calcul de la valeur d'une fonction . 4.6.2 programme shell . . . . . . . . . . 4.6.3 application . . . . . . . . . . . . . 4.7 Exemple 3 . . . . . . . . . . . . . . . . . . 4.7.1 M thode num rique . . . . . . . . . 4.7.2 programme bc . . . . . . . . . . . . 4.7.3 programme shell . . . . . . . . . . 4.8 Make . . . . . . . . . . . . . . . . . . . . . A 4.9 LTEX . . . . . . . . . . . . . . . . . . . . 4.10 Gnuplot . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

29

29 29 30 30 32 34 34 35 36 36 37 37 38 38 38 39 41 42 42 42

CHAPITRE 1. INTRODUCTION

Chapitre 1 Introduction
Ce cours s'adresse des tudiants d sirants approfondir leurs connaissances des outils informatiques pour le calcul scienti que.

1.1 Historique
Unix a t d velopp au laboratoire Bell en 1969 par K. Thompson, sur un PDP-7, puis r crit en 1973 en langage C, par K.Thompson et D. Richtie, permettant d'avoir un syst me d'exploitation portable sur une large gamme d'ordinateurs. On le trouve aujourd'hui sur des machines allant de PC 386/486, aux stations de travails (SUN,DEC,HP) et aux super-calculateurs (IBM , CRAY). Une autre raison de son succ s est qu'il a t largement di us , utilis et am lior dans les universit s, en particulier am ricaine. En n et surtout c'est un bon syst me d'exploitation en particulier pour les programmeurs, et qui a su voluer. UNIX est construit autour d'une id e forte: la puissance d'un syst me provient plus des relations entre les programmes que des programmes euxm mes. Beaucoup de programmes UNIX font, de fa on isol des traitements triviaux; combin s avec d'autres, ils deviennent des outils g n raux et performants. La solution d'un probl me sous UNIX ne passe pas forc ment par l' criture d'un programme sp ci que, mais souvent par une utilisation combin e et l gante des outils standards.

CHAPITRE 2. ARCHITECTURE en permettant l'ex cution d'une instruction par cycle et en minimisant les changes avec la m moire externe (SUN SPARC, DEC ALPHA, SGI MIPS)

Chapitre 2 Architecture
2.1 Architecture hardware
Un ordinateur poss de l'architecture suivante:

3. architecture vectorielle Cette architecture a t d velopp par CRAY pour des applications de calcul scienti que avec un traitement e cace des op rations vectorielles. Malheureusement, pour pouvoir b n cier de cette puissance, il faut vectoriser les codes, ce qui n'est pas toujours possible. Les super-calculateurs actuels (CRAY C90, IBM 3090, FUJITSU, NEC ..) 4. architecture super-scalaire Cette architecture correspond une optimisation des architectures RISC, avec l'utilisation de caches de donn es et d'instructions intelligents, de pipe-lines d'instructions permettant d'ex cuter l'instruction suivante avant la n de l'instruction courante, et d'unit s arithm tiques s par es pour la multiplication et l'addition (DEC ALPHA, MIPS R8000, IBM POWERPC, PENTIUM). 5. architecture parall le Utilisation de plusieurs CPU pour augmenter les performances, avec des architectures de type SIMD ou MIMD. C'est l'architecture d'avenir, pour le calcul intensif. Un autre l ment important pour les applications est la puissance de calcul en nombres ottants ou MFLOPS. Ainsi les processeurs RISC ont une puissance de l'ordre de 20-50 MFLOPS, les processeurs super-scalaires de l'ordre de 100200 MFLOPS et les processeurs vectoriels de l'ordre de 200-1000 MFLOPS. La m moire permet le stockage des donn es et des instructions, lors de l'ex cution d'un programme. La m moire est caract ris e par sa vitesse d'acc s et on distingue 2 types. 1. la m moire statique ou SRAM C'est la plus rapide (10 20 ns), mais la plus ch re. Elle est utilis comme m moire cache (de 256 Ko a 1 Mo sur station).

2.1.1 L'unit centrale ou CPU

Elle est constitu e d'un ou plusieurs composants ou CHIP (de type microprocesseur). Une unit centrale est caract ris e par la taille des registres l mentaires (32 bits, 64 bits), la taille du bus de donn es (32 bits, 64 bits, 128 bits) et du bus d'adresses (32 bits, 64 bits, 128 bits), et son cycle d'horloge (en Mhz). Une instruction typique s'execute en un ou plus cycle, et la puissance d'un processeur peux tre caract ris par des MIPS (Millions Instructions Par Seconde). Typiquement, les stations de travail ont une architecture 32 bits, voir 64 bits et atteignent de 20 a 200 MIPS. Une unit centrale est aussi caract ris par son architecture: 1. architecture g n rale CISC Le jeux d'instructions l mentaire est tr s riche et le nombre de registres faible (Intel 486, Motorola 68020). Les instructions complexes s'executent sur plusieurs cycles machines. 2. architecture RISC Le jeux d'instructions est r duit (obtenu par analyse statistique du code g n r par les compilateurs), mais il y plus de registres internes. Avec de bons compilateurs, cette architecture o re de meilleures performances,

2.1.2 La m moire centrale

2.2. LE SYST ME UNIX


outils librairies shell de dvt

10

CHAPITRE 2. ARCHITECTURE qui correspond la partie syst me, et qui g re la machine et ses p riph riques ( l'aide de drivers). 2. des interfaces avec un interpr teur de commandes (ou shell) et des interfaces graphiques X11. Sous UNIX il existe plusieurs shells ( Bourne shell, C shell ...) 3. un niveau utilisateur avec des outils de d veloppement, des librairies, des compilateurs, et les programmes utilisateurs. Les caract ristiques du syst me UNIX sont : 1. un syst me standard 2. un syst me multi-taches 3. un syst me multi-utilisateurs 4. une allocation dynamique des ressources de la machine 5. une gestion de m moire pagin e, qui permet au syst me d'allouer plus de m moire que la m moire physiquement disponible en utilisant une partie du disque dur (swap disque).

C C++ F77

Systeme Interface Utilisateur

Noyau driveurs X11 pges utilisateurs

Fig.

2.1 architecture d'un syst me UNIX

2. la m moire dynamique ou DRAM Elle est plus lente (60 70 ns), mais elle permet des taux d'int grations plus importants (CHIPS de 4,8,16 Mbits). Sur station, on a de 32Mo 256Mo de m moire DRAM. Les p riph riques sont connect s au calculateur travers une interface sp ci que (PCI, SCSI). On distingue entre autre 1. les disques durs ils servent de m moire de stockage, mais on un temps d'acc s long par rapport la m moire (de l'ordre de la 10 ms). Leurs capacit s varient du Giga-octets au Tera-octets. 2. les crans graphiques ils permettent l'utilisation d'outils graphiques sous X11. Ils ont une r solution de 1280x1024 en 256 couleurs (8 bits) ou en vrais couleurs (24 bits).

2.1.3 Les p riph riques

2.2 Le syst me UNIX


Un syst me UNIX a une architecture indiqu e sur la gure 2.1, et comprend 3 niveaux. 1. un noyau syst me

11

12

CHAPITRE 3. INTRODUCTION UNIX

3.2 Le shell

Chapitre 3 Introduction UNIX


3.1 Introduction
Et, avant de commencer : n'ayez pas peur d'exp rimenter. Le syst me ne vous fera pas de mal. Vous ne pouvez rien ab mer en utilisant le syst me. UNIX, par conception, poss de des notions de s curit , a n d' viter aux utilisateurs normaux Chaque machine UNIX a un nom (hostname), par exemple cephee , et si elle est connect e un r seau un nom de domaine (domainname), par exemple meca u.ec-lyon.fr . Le nom complet d'une machine sur le r seau internet est alors hostname.domainename, qui permet d'acc der cette machine partir de n'importe quel noeud du r seau (soit cephee.meca u.eclyon.fr). Chaque utilisateur poss de un nom d'utilisateur (le logname ), et un mot de passe (password. La liste des utilisateurs se trouve dans le chier /etc/passwd, qui contient aussi le mot de passe cripte. Pour se connecter sur une machine, il faut rentrer votre nom d'utilisateur au login et votre mot de passe. Dans le cas d'un r seau local, plusieurs machines peuvent partager la m me liste d'utilisateurs (i.e. le m me chier passwd, ce qui permet de se connecter sur n'importe quelle machine du r seau sous le m me compte. Chaque utilisateur fait aussi partie d'un groupe groupname.

Le shell est l'interpr teur de commandes qui n'est rien d'autre qu'un programme qui prend ce que l'utilisateur tape et traduit ces commandes en instructions destin es au syst me ( quivalent en plus puissant COMMAND.COM sous MS-DOS). Le shell n'est juste qu'une interface. Les interfaces avec le syst me sont nombreuses et vari es, depuis les nombreux shells disponibles jusqu'au syst me X Window, qui vous permet d'utiliser des commandes en utilisant le clavier ou la souris, avec a chage sur un cran graphique du plus bel e et. Une fois connect , le syst me lance un shell (login shell), en a chant une invite l' cran, p.e. /home/dupont$ , indiquant qu'il est pr t prendre des commandes. Pour terminer une session (et arr ter le shell), on tape la commande
/home/dupont$ exit

(ou logout, ou simplement ctrl D ) La syntaxe g n rale d'une commande du shell est
/home/dupont$ cde -options] arguments]

Attention le syst me UNIX fait la di rence entre les minuscules, et les majuscules. Les commandes reconnues par le shell sont soient des commandes internes, soient des programmes qui se trouvent dans un des r pertoires du PATH ou chemin d'acc s. Pour obtenir de l'aide sur une commande on utilise la commande man (ou xman sous X11):
/home/dupont$ man cde

Le shell tant un programme, on peut l'ex cuter l'int rieur d'un shell comme une commande. Chaque shell est con gurable, l'aide d'un chier de con guration. Les principaux shells sont: 1. sh shell standard ou Bourne shell ( chier de con guration .pro le) 2. csh C shell ( chier de con guration .cshrc) 3. bash version tendue du Bourne shell ( chier de con guration .bshrc)

3.3. FICHIERS ET R PERTOIRES

13

14

CHAPITRE 3. INTRODUCTION UNIX

3.3 Fichiers et r pertoires


Les chiers sont identi s par leur nom de chier, qui peuvent contenir n'importe quel caract re (sauf /, voir la discussion sur les chemins d'acc s plus loin), et peuvent faire jusqu' 256 caract res de longs, voire plus. Au concept de chier est associ la notion de r pertoire. Un r pertoire est simplement une collection de chiers organis es de mani re arborescente. Un chier peut tre r f renc par son chemin d'acc s, qui est constitu du nom de chier, pr c d par le nom du r pertoire qui le contient sous la forme: chemin d'acc s = r pertoire/nom Si le nom du r pertoire commence par /, il s'agit d'une r f rence absolue par rapport au r pertoire racine /, et sinon d'une r f rence relative par rapport au r pertoire courant. Le r pertoire courant est not . , le r pertoire parent du r pertoire courant est not .. , et votre r pertoire de base ou home directory . Sur la gure 3.3, un exemple d'arborescence de r pertoires est repr sent .

Le premier caract re ( - ) repr sente le type du chier (ici un chier ordinaire). Les trois lettres suivantes ( rw- ) repr sentent les droits en lecture r (oui), - (non) , criture w (oui) , - (non) et d'ex cution x (oui) , (non) du propri taire (owner), idem pour les trois suivantes pour le groupe, et pour les trois derni res pour les autres utilisateurs (other). Pour modi er les protections d'un chier, on utilise la commande chmod.
chmod {a,u,g,o}{+,-}{r,w,x} h

chiersi

avec all (tous), user (propri taire), group (groupe) , ou other (les autres). Sous UNIX, un chier est physiquement identi par un num ro ou inode, et on associe ensuite un nom de chier cette inode. On peut donc associer plusieurs noms di rents un m me chier, gr ce la cr ation de lien avec la commande ln
ln file1 file2

3.3.2 les liens sur les chiers

3.3.1 les droits d'acc s

Chaque chier poss de des droits d'acc s, que l'on peut visualiser avec la commande ls -l.
/home/rene/notes$ ls -l liste.courses -rw-r--r-1 rene users 505 Mar 13 19:05 liste.courses

pour cr er un nouveau lien le2 vers le chier le1. On peut utiliser une autre forme de lien, le lien symbolique, qui indique cette fois le chemin d'acc s au chier. Pour cela on utilise l'option -s de la commande ln.

3.4 R sum des commandes de base


Cette section pr sente quelques unes des commandes les plus utiles sur un syst me UNIX. Notez bien que les options commencent g n ralement par un - , et que dans la plupart des cas il est possible de combiner de multiples options d'une lettre dans un seul - . Par exemple, au lieu d'utiliser la commande ls -l -F, il est plus pratique de taper ls -lF. Au lieu de donner la liste de toutes les options disponibles pour chacune de ces commandes, nous ne parlerons que de celles qui sont utiles ou importantes, pour l'instant. En r alit , la plupart de ces commandes comprennent une tr s grande quantit d'options que vous n'utiliserez jamais. Vous pouvez utiliser man si vous voulez en savoir plus.

/home/rene/notes$

Le premier champ a ch repr sente les di rentes permissions d'acc s au chier. Le troisi me indique le propri taire (rene), et le quatri me indique le groupe auquel ce chier appartient (users). Le cinqui me est la taille en octets, le sixi me la date de derni re modi cation. Le dernier champ est bien videmment le nom du chier (liste.courses) La cha ne -rw-r r donne dans l'ordre, les droits qu'ont respectivement le propri taire, le groupe, et tous les autres sur ce chier.

3.4. R SUM DES COMMANDES DE BASE

15

16
rm

CHAPITRE 3. INTRODUCTION UNIX

Notez galement que beaucoup de ces commandes prennent une liste de chiers ou de r pertoires comme arguments, d not s par h chier1i . . . h chierNi . Par exemple, la commande cp prend une liste de chiers copier, suivie de la destination, chier ou r pertoire. Lorsque l'on copie plus d'un chier la fois, la destination doit tre un r pertoire.
cd

ls

cp

mv

Change le r pertoire de travail courant. Syntaxe: cd hr pertoirei hr pertoirei est le r pertoire de destination. ( . se r f re au r pertoire courant, .. au parent.) Exemple : cd ../toto positionne le r pertoire courant sur ../toto. A che des informations sur les chiers ou r pertoires. Syntaxe: ls h chier1i h chier2i ...h chierNi O h chier1i h chierNi sont les noms de chiers ou r pertoires. Options: Il y a vraiment beaucoup d'options. Les plus couramment utilis es sont -F (pour a cher des informations sur le type de chier), et -l (donnant un format long comprenant la taille du chier, le propri taire, les droits d'acc s, et ainsi de suite. Ces d tails seront expliqu s plus tard.) Exemple : ls -lF /usr/bin a chera le contenu du r pertoire /usr/bin. Copie un (des) chier(s) dans un autre chier ou r pertoire. Syntaxe: cp h chier1i h chier2i ...h chierNi hdestinationi O h chier1i h chierNi sont les chiers copier, et hdestinationi est le chier de destination ou le r pertoire. Exemple : cp ../frog joe copie le chier ../frog dans le chier ou le r pertoire joe. D place un (des) chier(s) vers un autre chier ou r pertoire. Cette commande r alise l' quivalent d'une copie suivie de la suppression de l'original. Elle peut tre utilis e pour renommer des chiers, comme dans la comande MS-DOS RENAME. Syntaxe: mv h chier1i h chier2i ...h chierNi hdestinationi O h chier1i h chierNi sont les chiers d placer, et hdestinationi est le chier ou le r pertoire de destination. Exemple : mv ../frog joe d place le chier ../frog dans le

mkdir

rmdir

man

more

chier ou le r pertoire joe. Supprime des chiers. Notez bien que lorsque des chiers sont supprim s sous UNIX, c'est irr m diable, il est impossible de revenir en arri re. Syntaxe: rm h chier1i h chier2i ...h chierNi O h chier1i h chierNi sont les chiers supprimer. Options: -i demandera con rmation avant chaque e acement de chier. Exemple : rm -i /home/dupont/recettes/cassoulet /home/dupont/rece e acera les chiers cassoulet et macdo si l'op ration est bien con rm e par l'op rateur. Cr e de nouveaux r pertoires. Syntaxe: mkdir hdir1i hdir2i ...hdirNi O hdir1i hdirNi sont les r pertoires cr er. Exemple : mkdir /tmp/test cr era le r pertoire test dans le r pertoire /tmp. Cette commande supprime les r pertoires vides. Lors de l'utilisation de rmdir, votre r pertoire courant ne doit pas faire partie du r pertoire supprimer. Syntaxe: rmdir hdir1i hdir2i ...hdirNi O hdir1i hdirNi sont les r pertoires supprimer. Exemple : rmdir /tmp/test supprime le r pertoire test dans /tmp, si il est vide (et s'il existe). A che la page de manuel pour la commande ou la ressource donn e. (c'est dire, n'importe quel utilitaire syst me qui n'est pas une commande, comme une fonction de librairie). Syntaxe: man hcommandei O hcommandei est le nom de la commande ou ressource sur laquelle on d sire de l'aide. Exemple : man ls donne la description de la commande ls. indexmore@more A che le contenu des chiers, un cran la fois. Syntaxe: more h chier1i h chier2i ...h chierNi O h chier1i h chierNi sont les chiers examiner.

3.5. UTILISATION DU SHELL


cat

17

18
`cde` # ;

CHAPITRE 3. INTRODUCTION UNIX remplace par le r sultat de la commande d but de commentaire n de commande

echo

grep

Exemple : more /etc/termcap a che le chier /etc/termcap. Normalement destin e concat ner des chiers, la commande cat est aussi utilis e pour a cher tout le contenu d'un chier d'un coup. Syntaxe: cat h chier1i h cher2i ...h chierNi O h chier1i h chierNi sont les chiers concern s. Exemple : cat /etc/passwd a che le contenu du chier /etc/passwd. A che simplement les arguments qu'on lui passe. Syntaxe: echo harg1i harg2i ...hargNi O harg1i hargNi sont les arguments a cher. Example: echo "Bonjour tout le monde" a chera la cha ne Bonjour tout le monde . A che toutes les lignes dans le (les) chier(s) correspondant l'expression donn e. Syntaxe: grep hexpressioni h chier1i h chier2i ...h chierNi O hexpressioni est une expression rationnelle, et h chier1i h chierNi les chiers dans lesquels la rechercher. Exemple : grep local /etc/hosts a chera toutes les lignes du chier /etc/hosts qui contiennent l'expression local .

3.5 Utilisation du shell


3.5.1 les caract res g n riques
* ?
ccc] \x 'xxx' "xxx"

Chaque programme UNIX poss de une entr e standard stdin (en g n rale le clavier), une sortie standard stdout et une sortie d'erreur stderr qui sont en g n rale confondues avec la sortie cran. Pour beaucoup de commandes UNIX, si on ne sp ci e pas de chier comme param tre, les donn es sont lues sur l'entr e standard (exemple cat ). Pour rediriger les entr es ou sorties vers des chiers on utilise les caract res g n riques suivants: h prog h le remplace l'entr e standard de prog par le contenu de le. hhstr prog hh str l'entr e standard suit jusqu' l'apparition de str dans le ot de donn es. i prog i le crit la sortie standard de prog dans le. ii prog ii le ajoute la sortie standard de prog dans le. | prog1 | prog2 cr ation d'un pipe en connectant la sortie de prog1 l'entr e de prog2

3.5.2 les entr es sorties

remplace n'importe quelle suite de caract re remplace 1 caract re remplace un caract re parmi ccc; (0-9) et (a-b) sont possibles protection du caract re x (i.e non interpr tation) prend xxx litt ralement sans interpr tation idem mais avec interpr tation de \

3.5.3 le contr le de processus

Un processus d signe un programme s'ex cutant en machine. La commande ps a che une liste des processus en cours sur la machine. Voici un exemple:
/home/marcel$ ps PID TT STAT 24 3 S 161 3 R TIME COMMAND 0:03 (bash) 0:00 ps

3.6. EDITEUR DE TEXTE


/home/marcel$

19

20

CHAPITRE 3. INTRODUCTION UNIX

Chaque processus est identi par un num ro: le PID ou Process IDent. Un processus peut soit tre ex cut en avant plan foreground, c'est le processus connect l'entr e standard et la sortie standard, ou en arri re plan background comme t che de fond. Certains traitements longs peuvent tre lancer en tache de fond en utilisant le caract re & la n de la commande. On peut aussi suspendre la commande courante avec ctrl Z , et la mettre en t che de fond avec bg, ou la reprendre avec fg. Pour arr ter un processus en avant-plan, on peut utiliser ctrl C . Pour arr ter un processus en tache de fond on le tue avec la commande kill pid (ou pid est le num ro du processus).

s/str1/str2/ substitue la cha ne str1 par str2 dans la ligne courante /str1/ recherche str1 dans le chier n se positionne la ligne n . a che le num ro de la ligne courante $ se positionne la derni re ligne En combinant ces commandes, et en utilisant des expressions r guli res (cf le man de vi et ed), on peut e ectuer des transformations complexes sur un chier.
:1,$s/str1/str2/g

3.6 Editeur de texte


De nombreux diteurs existent sous UNIX, mais celui que l'on trouve sur tous les syst mes est l' diteur vi, qui est relativement souple et puissant.
vi file

remplace toutes les occurrences de str1 par str2


:1,$s/ str1/str2/

idem mais uniquement si str1 appara t en d but de ligne.

Sous vi, il existe 2 modes: un mode commande et un mode dition, qui permet d'ins rer du texte et de se d placer (avec les ches). En mode dition on ins re du texte apr s avoir tap i , on ajoute du texte la n de la ligne en tapant a , on e ace un caract re en tapant sur x , on e ace une ligne avec dd , un mot avec dw , on remplace un texte avec R , un caract re avec r , et change les minuscules en majuscules. On peut faire pr c der une commande par un chi re n pour la r p ter n fois. On passe en mode commande en tapant sur la touche esc , puis sur : . Les principales commandes sont q sortie de l' diteur w criture des modi cations dans le chier, ou dans un chier di rent si on le sp ci e r le2 insertion du chier le2 e new le lecture d'un nouveau chier ! cde ex cution d'une commande cde par le shell

3.7 La programmation du shell


Le shell n'est pas uniquement un interpr teur de commandes, mais aussi un v ritable langage de programmation. Nous d crivons ici le Bourne shell sh ou bash. Les autres shell peuvent utiliser une syntaxe l g rement di rente et on se reportera au man correspondant. Les variables du shell ou param tres permettent de sauvegarder et manipuler des cha nes de caract res. Pour d nir une variable var, on lui a ecte une valeur (une cha ne entre " )
var = "cha ne"

3.7.1 les variables

ou le r sultat d'une commande (avec ` )


var = `commande`

3.7. LA PROGRAMMATION DU SHELL ou de fonctions de manipulation de cha nes de caract res. Pour a cher la valeur d'une variable, on fait pr c der son nom par
echo $var

21
$

22
commande1
else fi

CHAPITRE 3. INTRODUCTION UNIX


commande2

Pour obtenir la liste des variables, on utilise la commande set. Par d faut, les variables ainsi d nies sont locales au shell courant. Pour rendre globale ces variables, il faut les exporter (c.a.d. les rendre accessibles par toutes les commandes (script,sous-shell,programmes)), et les placer dans votre environnement. Pour cela on utilise la commande export sous sh (setenv sous csh).
var = "cha ne" export var

pour tester le r sultat d'une commande. En e et chaque commande UNIX retourne un code d'erreur err indiquant si la commande s'est ex cut e sans erreur (dans ce cas err = 0), ou non (dans ce cas err > 0 contient le code d'erreur). Une fonction du shell ] test permet de tester des conditions logiques, arithm tiques, ou des tests sur les nom de chiers en reportant le bon code d'erreur (voir le man). Par exemple
if test $var = "essai"

Le shell poss de par d faut un certain nombre de variables d'environnement, dont la plus importante est PATH (par convention les variables d'environnement sont crites en majuscule). La variable PATH contient le chemin d'acc s au commande, c'est dire la liste des r pertoires ou le shell va chercher les commandes que vous lui tap s. Pour modi er cette variable, et indiquer au shell de rechercher les commandes dans votre r pertoire /bin:
PATH= $PATH: /bin

permet de tester si la variable var est gale ssai(Attention noter les espaces entre les mots, ils sont indispensables). On peut aussi utiliser la syntaxe suivante utilisant et ] .
if $var = "essai" ]

3. le choix multiple
case

3.7.2 les structures de contr le


var liste de mots

Le shell sh poss de les structures de contr le suivantes: 1. la boucle


for do in

cas1) cas2)

var

in

commande1 commande2

esac

4. les boucles while et until


while do commandes done until do commandes done

commandes
done

commande

qui a ecte la variable var les mots successifs de la liste. 2. le test


if

commande

commande

then

3.7. LA PROGRAMMATION DU SHELL 5. calcul arithm tique


let var=expr

23

24

CHAPITRE 3. INTRODUCTION UNIX

Pour executer ce chier, on tape simplement run file, apr s l'avoir rendu executable. La premi re ligne indique que le shell utilis est sh (i.e la commande run quivaut sh run Les shell sous unix ont des chiers de con gurations (comme beaucoup de programmes UNIX), qui permettent de les adapter vos besoins. Ces chiers sont dans le r pertoire principale (ou $HOME). .profile sh shell .cshrc csh shell .login login shell .logout logout Ils contiennent les instructions de con gurations ex cuter au d but du programme (par example la d nition d'alias pour les commandes courantes avec la commande alias, et la d nition des variables d'environnement (qui est une autre fa on de con gurer un programme sous UNIX).

les calculs arithm tiques se font sur des entiers avec les op rations +,
- , * , /, %

3.7.4 les chiers de con gurations

Un programme du shell consiste a placer une liste de commandes dans un chier le puis rendre se chier ex cutable l'aide de la commande chmod +x le. Un programme shell peut poss der des arguments, qui sont repr sent s par les variables suivantes: $n nieme argument $# nbre d'arguments Un exemple de chier shell, que nous appellerons run , a la structure suivante
#!/bin/sh # prog1 res # test le nombre d'arguments if $# != 1 ] then echo syntaxe $0 fichier exit 1 fi # test si le fichier de resultat existe pour eviter de l'ecrasser if test -f $1 echo fichier $1 existe exit 1 fi # execution du progamme prog1 << EOF >$1 val1 val2 ... EOF

3.7.3 les programmes du shell

3.8 L'environnement X Window


C'est l'interface graphique standard du monde UNIX, qui est bas e sur le syst me X11 d velopp au MIT, qui permet d'utiliser un environnement de fen tres de fa on standard (i.e ind pendamment du constructeur, de l' cran graphique couleur ou pas) et m me travers les r seaux, et de l'interface utilisateur Motif. Pour utiliser X11, on se connecte en g n rale sous xdm, qui g re le loggin sur une console graphique. Une fois le loggin ectu , xdm ex cute un shell avec les commandes contenues dans un chier de con guration .xsession. Ce chier permet de lancer le gestionnaire de fen tres ou window manager et cr er un certain nombres de fen tres graphiques (horloge, xterm). Les fen tres xterm sont des fen tres correspondant chacune un shell, et dans lesquelles on peut ex cuter n'importe quelles commandes UNIX. La s lection des fen tres, leur agrandissement et la mise sous forme d'icones se fait l'aide de la souris, de m me que la s lection des menus. On utili-

3.9. LES R SEAUX

25

26

CHAPITRE 3. INTRODUCTION UNIX

sera le programme xman pour avoir une documentation plus pr cise sur les commandes X11.

3.9 Les r seaux


UNIX fournit tous les outils perm ttant l'utilisation des r seaux. En particulier, on peut noter que internet est constitu en majorit de noeuds UNIX, qui permettent de tisser une toile de connection l' chelle du globe. Une machine sur un r seau est reconnue par une adresse, dite adresse IP, associ e son nom de machine (dans le chier /etc/hosts). Les outils de connection sont: ftp pour le transfert de chiers telnet pour la connection sur une machine

bin dev etc home lib proc tmp usr

dupont rene X386 bin emacs etc g++-include include lib local bin emacs etc lib man spool src linux tmp

Fig.

3.1 Une arborescence de r pertoires typique sous UNIX (abr g e).

27

28

CHAPITRE 4. LES OUTILS UNIX La syntaxe g n rale d'un ltre est la suivante:
filtre h

4.1.2 Quelques ltres

Chapitre 4 Les outils UNIX


4.1 Introduction
De nombreux programmes UNIX lisent une entr e, r alisent une transformation et crivent un r sultat. De tels programmes, appel s ltres, peuvent tre combin s l'aide de pipe pour cr er des transformations plus complexes. De nombreux ltres utilisent la notions d'expressions r guli res pour d signer une transformation g n rique sur du texte.

commandesi

chiersi

4.1.1 Expressions r guli res


Une expression r guli re peut contenir une suite de caract res parmis les suivants: c tout caract re non sp cial \c ignore la signi cation sp ciale de c (p.e. \*) d but de ligne $ n de ligne . n'importe quel caract re unique ccc] n'importe quel caract re parmi ccc (avec (0-9) et (a-b)) r* z ro ou plus occurrences de r

Si on ne sp ci e pas de nom de chiers, l'entr e standard est utilis e. sort h-ni h+Ni trie son entr e suivant l'ordre alphab tique ou num rique (si -n) en ignorant les N premi res colonnes tail h-l ni a che les n derni res ligne de l'entr e head h-l ni a che les n premi res ligne de l'entr e wc h-clwi compte le nombre de caract res c, lignes l ou mots w de l'entr e grep 'expr' recherche et a che les lignes de l'entr e satisfaisant l'expression r guli re expr (on utilise en g n rale les quotes ' pour viter l'interpr tation des caract res sp ciaux par le shell. sed 'cdes' sed est un diteur de ots, qui applique les commandes d' dition cdes chaque ligne du chier d'entr e. Ces commandes d' ditions sont les commandes de vi, lui m me d river de l' diteur ligne ed

awk est un langage de recherche et de traitement d'expressions r guli res. Sa syntaxe est la suivante:
awk 'programme' fichiers

4.2 awk langage de traitement d'expressions

ou
awk h

-f prog- lei

fichiers

si les commandes sont crites dans un chier prog- le La syntaxe g n rale d'un programme awk est la suivante:
BEGIN { cdes1; }

4.2. AWK LANGAGE DE TRAITEMENT D'EXPRESSIONS


{ cdes; } END { cdes2; }

29

30
instruction2; }

CHAPITRE 4. LES OUTILS UNIX

o cdes1 est la liste de commandes ex cut es au d but du programme, cdes celles ex cut es sur chaque ligne du chier d'entr e, et cdes2 celles ex cut es la n du programme. Chaque commande est termin e soit par une n de ligne, soit par un ; . Chaque ligne est d coup e en champs ou colonnes (par d faut s par es par des espaces ou des tabulations). awk appelle les champs $1,$2,$3 ... $NF o NF est une variable dont la valeur est gale au nombre de champs de la ligne courante. awk manipule des variables avec une syntaxe quasiment identique au langage C, et contenant soit des cha nes de caract res, soit des valeurs num riques (suivant le contexte). Il poss de des fonctions de manipulation de cha nes, des op rateurs num riques et de comparaisons issus du langage C (+, -, *, /, %, i, i=, h, h=, !=, ==, &&) et quelques fonctions math matiques (cos(), exp(), atan2(), log(), sin(), sqrt(), int(), rand()). Les principales commandes de awk sont:
print exp1,exp2.. printf

boucle
for (exp1; condition; exp2) { instructions; }

tantque
while condition { instructions; }

awk permet aussi de manipuler des tableaux de taille quelconque (i.e. il n'est pas n cessaire de d nir la dimension, on a ecte simplement des valeurs aux di rents l ments d'un tableau). Le ieme l ment d'un tableau tab est not tab i]. On peux m me manipuler des tableaux associatifs dont l'index n'est pas num rique, mais correspond une cha ne.

a che exp1, exp2 .. sortie format e (identique au C)

format ,exp1..

/expr/ { cde }

ex cute la commande cde si la ligne courante v ri e l'expression r guli re expr Les structures de contr les ont une syntaxe identique celle du langage C. condition
if (condition) { instruction 1; } else {

bc est un calculateur num rique avec une pr cision arbitraire, manipulant les nombres en virgule ottante (mais sans exposant) et qui poss de un langage de programmation similaire au C . Sa syntaxe est la suivante:
bc h i files

4.3 bc langage pour le calcul num rique


-l

structure de contr le

qui utilise la librairie math matique du C (avec une pr cision correspondant 20 chi res apr s la virgule) avec l'option -l, et qui lit les commandes ou instructions partir des chiers les ou de l'entr e standard. Une variable est associ e un nom en minuscule et est d nie d s son utilisation. Un tableau est d nit par un nom suivi d'un indice entre ] . La variable scale d nit le nombre de chi res apr s la virgule, ibase et obase la base en entr e et en sortie. Une commande est soit une expression exp, dont le r sultat est a ch , soit une a ectation var=expr ou var exp1]=exp2. Les op rateurs num -

4.3. BC LANGAGE POUR LE CALCUL NUM RIQUE

31

32

CHAPITRE 4. LES OUTILS UNIX

riques dans une expression sont les op rateurs du C (+, -, *, /, %, & ,! ), et de m me pour les op rateurs relationnels (i, i=, h, h=, !=, ==, &&). Les instructions sont s par es soit par une n de ligne, soit par un ; . Les principales instructions du langage sont: print exp1 a che l'expression exp1
if (cdt) then expr1 else exp2

4.4 Exemple 1
A titre d'exemple d'utilisation coordonn e de ces programmes du shell, nous allons crire un programme qui permet d'analyser des donn es stock es dans un chier sous forme de colonnes, suivant le format suivant:
# commentaire 1 # commentaire 2 A1 B1 C1 D1 ..... A2 B2 C2 D2 ... ......... An Bn Cn Dn

test logique

boucle break sortie de boucle continue ex cute la boucle suivante halt n de c On peut d nit des fonctions avec la syntaxe suivante
define nom(parametres) { auto vars instructions; return (exp1); }

for(exp1; cdt2; exp3) inst

On veux calculer l'int grale, la valeur moyenne et l' cart type de la fonction d nit par les valeurs Yi de la colonne col1 en fonction des Xi de la colonne col2. L'int grale est calcul e par la m thode des trap zes:
Z I =

XN f (x) dx X1
R XN

N X Yi + Yi 1 i=2
2

(Xi

Xi 1 )

la moyenne par :
M =

qui d nit une fonction nom avec des arguments et des variables locales vars. Les fonctions de la librairie math matique sont: s(x) sinus avec x en radian c(x) cosinus a(x) arctangente l(x) logarithme base e e(x) exponentiel sqrt(x) racine carr j(n,x) fonction de Bessel d'ordre n

et l' cart type par :


Z S =

X1 f (x) dx R XN X1 dx N X (Yi i=2

I XN X1

XN (f (x) X1

M ) dx

M )2 + (Yi 1
2

M )2

(Xi

Xi 1 )

On calcule l'int grale de la colonne 2 en fonction de la colonne 1 l'aide du programme awk : int.awk
# calcul de l'integrale (par la methode des trapezes) # de somme(Yi*dx) (les (Xi,Yi) etants sur 2 colonnes) BEGIN { n=0; SUM=0;} { X2=$1; Y2=$2

4.4.1 Calcul de l'int grale

4.4. EXEMPLE 1
if ( n > 0) { SUM = SUM + 0.5*(Y1+Y2)*(X2-X1) } X1=X2; Y1=Y2; n=n+1; } END { print SUM; }

33

34

CHAPITRE 4. LES OUTILS UNIX

S=`awk '{print $1,($2-'"$M"')^2}' $temp | awk -f int.awk `; # resultats echo "integrale = "$I echo "moyenne = "$M echo "ecart type = "$S rm -f $temp

Le programme shell analyse_data qui fait l'analyse, ltre les donn es et utilise divers programmes du shell pour faire les calculs.
#!/bin/sh # analyse de donnees # les donnees sont stock es sous forme de colonnes (X1 Y1 Y2 ...) # avec eventuellement des lignes de commentaires commencant par # # analyse des donnees de la colonne col2 en fonction de la colonne col1 if $# != 3 ] then echo syntaxe: analyse_data file col1 col2 exit 1 fi data=$1; col1=$2; col2=$3 # filtrage des donn es temp=$data.tmp grep -v "^#" $data | awk "{ print \$$col1",\$$col2" }" | sort -n +0 >$temp # integrale I=`awk -f int.awk $temp` a=`head -n 1 $temp | awk '{ print $1}'` b=`tail -n 1 $temp | awk '{ print $1}'` n=`wc -l $temp | awk '{ print $1}'` echo "borne a= "$a; echo "borne b= "$b; echo "nbre de pts n= "$n; # longueur et moyenne L=$(echo "scale=6; $b-$a" | bc -l); M=$(echo "scale=6; $I/$L" | bc -l); # ecart type

4.4.2 Programme d'analyse

4.5 application
Avec le chier de donn es data
# fonction cos(x) entre 0 et 1 # calcul sur 10 pts 0 1.00000000000000000000 .11111111111111111111 .99383350853889192130 .22222222222222222222 .97541008538944752290 .33333333333333333333 .94495694631473766438 .44444444444444444444 .90284966935889861598 .55555555555555555555 .84960756284952776663 .66666666666666666666 .78588726077694800072 .77777777777777777777 .71247462453841889933 .88888888888888888888 .63027505092294510886 1 .54030230586813971740

on obtient le r sultat suivant


obelix@buffat:~/latex/istil2/demo$ analyse_data data 1 2 borne a= 0 borne b= 1 nbre de pts n= 10 integrale = 0.840605 moyenne = .840605 ecart type = 0.0197712

4.6 Exemple 2
On peut aussi utiliser le programme pr c dent pour type de calcul, mais sur une fonction analytique. ectuer le m me

4.6. EXEMPLE 2

35

36

CHAPITRE 4. LES OUTILS UNIX

4.6.1 calcul de la valeur d'une fonction

Le programme shell func calcul la valeur d'une fonction f(x) en n points entre a et b

#! /bin/sh # calcul la valeur d'une fonction f(x) entre a et b sur N pts # syntaxe: func "definition" a b n if $# != 4 ] then echo syntaxe: func "definition" a b n exit 1 fi # arguments F=$1; a=$2; b=$3; n=$4; # calcul des valeurs avec bc bc -l << EOF /* scale=6 */ dx=($b-$a)/($n-1); x=$a; for(i=1; i<$n; i=i+1) { print x," ",$F,"\n" x=x+dx } x=$b; print x," ",$F,"\n" EOF

# de la longueur de l'intervalle L=$(echo "scale=6; $b-$a" | bc -l); # de la moyenne M=$(echo "scale=6; $I/$L" | bc -l); # et de l'ecart type E="($F-$M)^2"; S=`func $E $a $b $n | awk -f int.awk `; # resultat echo "integrale = "$I echo "moyenne = "$M echo "ecart type = "$S

4.6.3 application
obelix@buffat:~/latex/istil2/demo$ etude_fonction fonction f(x)= c(x) borne a= 0 borne b= 1 nbre de pts n= 10 integrale = 0.840605 moyenne = .840605 ecart type = 0.0197712 obelix@buffat:~/latex/istil2/demo$

4.6.2 programme shell

Le programme shell etude_fonction qui calcule de l'int grale et la valeur moyenne d'une fonction f(x) entre a et b s' crit:
#!/bin/sh # etude numerique d'une fonction analytique echo -n "fonction f(x)= "; read F; echo -n "borne a= "; read a; echo -n "borne b= "; read b; echo -n "nbre de pts n= "; read n; # calcul de l'integrale I=`func $F $a $b $n | awk -f int.awk `;

4.7 Exemple 3
f (x)

On cherche maintenant calculer l'int grale d'une fonction analytique avec une pr cision x .

4.7.1 M thode num rique


I (h) = h
2

La m thode des trap zes s' crit pour un pas h = b na :


(f (a) + f (b)) + h

n 1 X k=1

f (a + k

h)

4.7. EXEMPLE 3 L'int grale exacte est not e:


Z I (0) =

37
b f (x) dx a
2 4 2p

38

CHAPITRE 4. LES OUTILS UNIX

L'erreur d'int gration, obtenue par d veloppement limit de I(h), s' crit:
I (h) = I (0) + a1h + a2h + : : : + ap h a1 =
(b

a)
12

M2

On en d duit une formule d'extrapolation permettant de calculer une formule plus pr cise connaissant une approximation I (h) et I ( h ): 2
4I ( h ) h 2 S( ) = 2

auto npt,j,dx,x,sum if (n==1) { return (s=0.5*(b-a)*(func(a)+func(b))) } else { npt=1; /* nbre de pts supplementaires */ for(j=1; j<n-1; j++) npt*=2; dx=(b-a)/npt; /* espacement */ x=a+0.5*dx; sum=0; /* calcul de la somme des termes supplementaires */ for(j=1; j<=npt; j++) { sum+=func(x); x+=dx; } s=0.5*(s+dx*sum); return (s) } } /* fonction d'integration avec une precision eps fixe */ eps =0.0001 nmax=10 /* fonction abs */ define abs(x) { if (x<0) { x=-x; } return (x); } /* integration de f(x) entre a et b par extrapolation successive */ define int(a,b) { auto n,tr,sp,trold,spold trold=trapz(a,b,1); spold=trold; for(n=2; n<=nmax; n++) { tr=trapz(a,b,n); sp=(4*tr-trold)/3.0; /* simpson */ if (abs(sp-spold)<eps*abs(spold)) return (sp); spold=sp; trold=tr; } print "trop d'iterations >",nmax," pour eps=",eps,"\n" return; } /* example utiliser uniquement pour le test */ /* fonction a integrer */ define func(x) {

I (h)
3

= I (0)

1 4

a2h + : : :

On obtiens une approximation 2 de I (0) d'ordre 4, qui est en fait la formule de Simpson. L'erreur d'int gration est mesur e partir de l'erreur relative:
S( 2 )

S( h )

S (h)

S (h)

<

n=

On peut de plus calculer I ( h ) = I2n en fonction de I (h) = In, en notant b a le nombre d'intervalles,2 par : h
I2n =
1 2 (In + h

n X

j =1

f (a + k

h))

4.7.2 programme bc

Le programme suivant trapz.bc impl mante l'algorithme suivant pour une fonction f (x) donn e:

/* calcul de l'integrale d'une fonction par la methode des trapezes */ /* le resultat est dans s, la fonction est func(x), l'intervalle a,b] */ /* l'appel doit etre recursif (i.e. a partir de n=1) pour affiner le resultat */ s=0 /* methode des trapezes */ define trapz(a,b,n) {

4.7. EXEMPLE 3
return (c(x)); } scale=6 print "somme =",int(0,1),"\n" quit

39

40

CHAPITRE 4. LES OUTILS UNIX

.84147211 obelix@buffat:~/latex/istil2/demo$ int "(1-x)/(1+x)" 0 1 .38629529

dont l'utilisation donne:


obelix@buffat:~/latex/istil2/demo$ bc -l trapz.bc bc 1.02 (Mar 3, 92) Copyright (C) 1991, 1992 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. somme =.841471 obelix@buffat:~/latex/istil2/demo$

4.8 Make A 4.9 LTEX 4.10 Gnuplot

4.7.3 programme shell

Le programme suivant int calcul l'int grale de f (x) entre a et b avec une pr cision x e:
#!/bin/sh # integration d'une fonction analytique # syntaxe int "f(x)" a b if $# != 3 ] then echo syntaxe: int "f(x)" a b exit 1 fi # parametres F=$1; a=$2; b=$3; bc -l trapz.bc <<EOF define func(x) { return ($F); } scale=8; int($a,$b); EOF

Un example d'utilisation donne:


obelix@buffat:~/latex/istil2/demo$ int "c(x)" 0 1

BIBLIOGRAPHIE

41

42

BIBLIOGRAPHIE

Bibliographie
HD93] Hec93] KP86] KR88] PoVF92] The86] TS87] Wel94] H.Kopka and P.W. Daly. A guide to LaTex. Documentation preparation for beginners and advanced users. Addison Wesley, 1993. A. Heck. Introduction to Maple. Springer-Verlag, 1993. B. Kerninghan and R. Pike. L'environnement de programmation UNIX. InterEditions , Paris, 1986. B. Kernighan and D. Ritchie. The C Programming Language. Prentice-Hall, 1988. W.H. Press, S.A. Teuk olsky, W.T. Vetterling, and B. P. Flannery. Numerical recipes in C. Cambridge university press, 1992. R. Theodor. Initiation l'analyse num rique. Masson, 1986. G. Todino and J. Strang. Learning the UNIX Operating System. O'Reilly and Associates 1987. M. Welsh. Linux Installation and Getting Started. CNU GPL, 1994.

TABLE DES FIGURES

43

Table des gures


2.1 architecture d'un syst me UNIX . . . . . . . . . . . . . . . . . 11 3.1 Une arborescence de r pertoires typique sous UNIX (abr g e). 28

Vous aimerez peut-être aussi