Вы находитесь на странице: 1из 9

Formation Unix/Linux (1) Introduction et syst` eme de chiers ext2

Olivier BOEBION Mars 2004

Un peu dhistoire

Le syst` eme UNIX est n e dans les Laboratoires Bell en 1969. Dabord ecrit par Ken THOMPSON, le d eveloppement du langage C par Dennis RITCHIE a permis une r e ecriture de ce syst` eme dexploitation en une version plus portable. Les universit es se sont vite interess ees au produit et en ont acquis des licences. Une premi` ere version a et e commercialis ee sous le nom de UNIX V7. A partir de cette premi` ere version, UNIX sest divis e en deux principales familles : ATT et les laboratoires Bell ont d evelopp e les versions SYSTEM V ; luniversit e de Berkeley a developp e les versions BSD. Dautres d eveloppements ont donn e naissance ` a plusieurs autres types de ce syst` eme plus ou moins inspir es des pr ec edents : XENIX, VENIX, SCO UNIX, MINIX, XINU, HP-UX, Digital Unix, ... Plus r ecemment, en 1991, un etudiant nlandais nomm e Linus B. Torsvald d eveloppe son propre syst` eme dexploitation et mets les source ` a disposition sur Internet. Linux 1 est n e. De nombreux contributeurs participent alors ` a corriger et enrichir le noyau. Compl et e par les applications GNU, le noyau permet de proposer un syst` eme dexploitation complet et port e sur la plupart des plateformes mat erielles actuelles.

Les principales caract eristiques de Linux

UNIX et Linux sont des syst` emes dexploitation multi-utilisateurs, multi-t aches et multi-processeurs. Linux est de plus multi-plates-formes et propose : un support des communications entre les processus (IPC, tubes, socket) ; une gestion des signaux processus ; une gestion des terminaux suivant la norme POSIX ; une gestion de la m emoire ` a la demande ; un chargement dynamique des biblioth` eques ; un support de nombreux syst` emes de chiers ; un support des protocoles r eseaux courants dont TCP/IP.

Linux Is Not UniX

2.1

Machine virtuelle

Le syst` eme dexploitation et plus pr ecis ement le noyau propose une interface entre lutilisateur et les ressources physiques de la machine. Seul le noyau est autoris e` a acc eder aux ressources mat erielles. Le syst` eme dexploitation est rendu ainsi plus stable car il evite des erreurs de lutilisateur sur la gestion des ressources syst` emes.

2.2

Le multi-t aches

Plusieurs utilisateurs peuvent travailler en m eme temps et chacun peut ex ecuter plusieurs processus de mani` ere concurrente : chaque utilisateur et chaque processus du syst` eme est identi e; le noyau fonctionne en temps partag e et g` ere des priorit es. Chaque processus est donc ex ecut e chacun son tour tr` es rapidement (m ethode du tourniquet ou round rubin).

2.3

Mode noyau et mode utilisateur

Un processus peut etre ex ecut e dans deux di erents modes. Dans le mode noyau, le processus a acc` es ` a lensemble des ressources de la machine sans aucune restriction. En mode utilisateur, le processus ne peut acc eder quaux donn ees qui lui ont et e aect ee. Lorsquun utilisateur lance un programme, le processus cr e e sex ecute dans le mode utilisateur. D` es que le processus a besoin dacc eder aux ressources de la machine (allocation de m emoire, acc` es ` a un p erip erique...), un appel syst` eme est lanc e vers le noyau. Ce dernier traite la requ ete et envoie le r esultat au processus appelant.

2.4

Gestion des ressources

La gestion des ressources de la machine (disque, m emoire, r eseau, ...) est faite sans blocage du syst` eme : si un programme ex ecut e par un utilisateur eectue des acc` es non autoris e ` a la m emoire (par exemple), seul ce programme sera interrompu et le syst` eme dexploitation restera stable. Le syst` eme dexploitation segmente et prot` ege les donn ees de chacun et emp` eche ainsi tout risque de conit.

2.5

Le tout chier

Lacc` es aux p eriph eriques et aux ressources du syst` eme seectuent ` a travers des descripteurs de chier. Sous UNIX, tout est chier : un disque, la m emoire, la carte r eseau (pas sous Linux), un lecteur de disquette, un lecteur de bande, un terminal, les entr ee/sorties des processus....

Organisation du syst` eme de chiers

Le syst` eme de chiers de Linux est de type ext2 ou plus r ecemment ext3. Il est organis e dune mani` ere arborescente comme le montre la gure 1 :

Fig. 1 Syst` eme de chiers Parmi les nombreux r epertoires, on trouve : /bin contient les commandes de base ; /usr/bin contient la suite des commandes ; /tmp contient les chiers temporaires ; /etc contient les chiers de conguration du syst` eme ; /sbin et /usr/sbin contiennent les commandes dadministration du syst` eme ; /dev contient tous les chiers sp eciaux permettant dacc eder aux p eriph eriques ; /home contient les r epertoires des utilisateurs.

Les chiers

Les chiers sur une partition ext2 ou ufs/s peuvent avoir un nom compos e de 255 caract` eres. Le syst` eme etant multi-utilisateur, il doit identier le propri etaire du chier. De plus, les utilisateurs pouvant etre divis es en plusieurs groupes, le chier poss edera une information concernant ce groupe dappartenance. An quun utilisateur ne puisse pas supprimer ou acc eder ` a un chier ne lui appartenant pas, des droits sont appliqu es aux chiers. Le contenu du r epertoire racine est le suivant : drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwxr-x--drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x 2 3 17 37 3 2 7 2 4 2 62 9 2 11 15 15 root root root root root root root root root root root root root root root root root root root root root root root root root root root root root root root root 3 4096 4096 77824 4096 4096 4096 4096 16384 4096 4096 0 4096 4096 4096 4096 4096 Oct Oct Oct Oct Oct Jun Oct Oct Oct Aug Oct Oct Oct Oct Oct Oct 27 27 30 30 27 21 27 27 27 23 30 30 27 30 27 27 19:03 19:03 20:40 20:39 17:25 20:32 19:12 18:58 17:18 1999 2001 21:36 19:08 21:35 19:03 19:00 bin boot dev etc home initrd lib lost+found mnt opt proc root sbin tmp usr var

La derni` ere colonne donne le nom du chier. La premi` ere donne le type du chier ainsi que ses attributs (lecture, ecriture, ex ecution) pour le propri etaire, le groupe et les autres. La troisi` eme donne le propri etaire du chier. La quatri` eme colonne donne le groupe dappartenance. Les suivantes donnent la taille du chier et sa date.

4.1

Les chiers ordinaires

Les chiers ordinaires ont le premier caract` ere de leurs attributs egal ` a un tiret. Ces chiers peuvent etre de type texte ou binaire. Les attributs donnent ou non un acc` es en lecture (r), en ecriture (w) ou en ex ecution (x).

4.2

Les r epertoires

Les r epertoires sont identi es dans lattribut par un d. Ces chiers poss` edent aussi des droits en lecture et ecriture. Par contre, le caract` ere x donne un droit de passage. Une commande cd pourra alors etre rendu impossible sur un r epertoire.

4.3

Les chiers lien

Les chiers lien permettent de r ef erencer un chier ordinaire ou un r epertoire en utilisant un nom di erent. Si par exemple, vous avez le r epertoire /usr/local/bin et que vous ne voulez pas avoir ` a retaper ` a chaque fois la totalit e pour vous placer dans celui-ci, il est possible de cr eer un chier raccourci. Les chiers lien sont de deux types. Les liens simples ont le premier caract` ere de lattribut egal ` a un tiret. Les liens symboliques ont quand ` a eux un l comme premier caract` ere de leur attribut. Les droits du chier r ef erenc e deviennent les droits du chier lien.

4.4

Les chiers sp eciaux

Les chiers sp eciaux permettent dacc eder aux p eriph eriques du syst` eme : disques, disquettes, lecteur de bandes, carte r eseaux... Toutes les op erations de cr eation, deacement et de gestion des chiers de p eriph erique (chiers sp eciaux) ne peuvent etre eectu ees que par ladministrateur. Un simple utilisateur ne pourra acc eder aux p eriph eriques quen respectant les droits que poss` edent les chiers leur correspondant. Un chier sp ecial a le premier caract` ere de son attribut qui correspond ` a la lettre c ou b suivant quil soit de type caract` ere ou bloc.

Connexion sur le syst` eme

UNIX etant multi-utilisateurs, vous devez vous connecter sur le syst` eme en vous identiant ` a travers un nom et un mot de passe. Une fois connect e, vous vous trouvez dans le r epertoire vous appartenant. On nomme celui-ci Home Directory. Un programme nomm e shell a et e lanc e lors de votre connexion. Le shell est linterface entre le syst` eme et vous. Il interpr` ete les commandes tap ees par lutilisateur et envoie au noyau les requ etes n ecessaires ` a leur action. Plusieurs types de shell existent : le Bourne shell, le C shell, le Korn shell ou encore le Bash shell. Cest ce dernier qui est ex ecut e pour votre connexion. Vous pouvez obtenir ces caract eristiques avec la commande man bash

R ef erences
[1] Programmation Linux 2.0 API Syst` eme et fonctionnement du noyau Par R emy Card, Eric Dumas et Franck M evel, Eyrolles [2] La programmation sous UNIX - 3 eme edition Par Jean-Marie Riet, Ediscience International

Mise en pratique
Si vous souhaitez de plus amples informations sur les commandes UNIX, vous pouvez utiliser le manuel en ligne man ou info suivi du nom de la commande ou du nom de votre shell.

Premier contact
Connectez-vous sur le syst` eme. Vous pouvez acher lendroit o` u vous vous trouvez avec la commande pwd. Le d eplacement dans le syst` eme de chiers seectue avec la commande cd (change directory). Placez-vous au sommet de larborescence (/). Trouvez des options ` a la commande ls an de visualiser les chiers commencant par un . ainsi que les informations concernant les droits, propri etaire et type de chiers. Commentez ce que vous visualisez.

Les chiers ordinaires


La cr eation et la visualisation
Une des mani` eres simple de cr eer un chier ordinaire est dutiliser la commande cat. Tapez la commande suivante : cat > ou Le syst` eme eectue un retour ` a la ligne. Tapez alors le texte clear ;pwd et terminez la saisie par CTRL-D. Vous venez de cr eez un chier du nom de ou. V eriez quil a bien et e cr e e avec la commande ls. Remarquez que le premier caract` ere de lattribut de ce chier est un tiret ce qui signie que le chier est bien ordinaire. Vous pouvez r eutiliser la commande cat pour connaitre le contenu du chier. Tapez : cat ou Dautres commandes comme more ou less sont possibles. Leur avantage par rapport ` a cat est que si votre chier est tr` es long, lachage du contenu se fera page par page. V eriez ce fait en visualisant le contenu du chier /etc/passwd.

La copie
La copie de chier se fait avec la commande cp. Copiez le chier ou en un deuxi` eme chier nomm e where. Recommencez lop eration une seconde fois. Remarquez que le syst` eme ne vous signale pas que vous risquez d ecraser le chier where. Trouvez une option qui vous demande une conrmation.

La comparaison
La commande permettant de comparer 2 chiers est di. Cr eez un second chier nomm e ou2 qui contient le texte suivant : pwd ;clear et comparez celui-ci avec le chier ou. Le r esultat vous donnera les lignes qui di` erent entre les chiers.

Lachage des chiers


Vous avez d ej` a utilis e plusieurs fois la commande ls avec loption l qui permet dacher les caract eristiques des chiers. Cette commande poss` ede de nombreuses options. Votre shell permet lemploi de m etacaract` eres. Ceux-ci permettent de remplacer une partie du nom des chiers : *, ?, {}, []. Leur emploi sera vu plus en d etail par la suite. Retenez juste pour linstant que si vous voulez lister tous les chiers commen cant par ou, vous taperez : ls ou*.

La suppression
Pour supprimer des chiers, la commande rm est employ ee. La commande rm ne demande pas une conrmation avant de supprimer le chiers. Cependant, certains shells permettent dobliger une conrmation. Si ce nest pas votre cas, cherchez une option pour la commande rm an quelle demande conrmation et supprimez le chier ou2.

Le d eplacement et le changement de nom


Pour d eplacer un chier ou pour le renommer (renommer est en fait d eplacer le chier au m eme endroit en changeant son nom...), vous utiliserez la commande mv. Renommez le chier ou en un chier nomm e OU. Vous noterez au passage que le syst` eme UNIX di erencie les majuscules des minuscules.

La mise ` a jour de la date et de lheure


La commande touch permet de mettre ` a jour la date dun chier. Si ce chier nexiste pas, la commande cr ee un chier vide (cela permet ainsi de cr eer rapidement des chiers). Regardez la date et lheure du chier where et mettez la ` a jour.

Le changement des caract eristiques


La modication du propri etaire et du groupe est faite respectivement par les commandes chown et chgrp. Concernant les droits, ceux-ci se divisent en 3 parties (voir gure 2) :

Fig. 2 Droits des chiers 7

Si la lettre appara t, le droit correspondant est donn e. Si la lettre est remplac ee par un tiret, le droit correspondant nest pas accord e. La mise ` a jour des droits se fait avec la commande chmod. Deux mani` eres de lutiliser existent. La mani` ere standard (que vous retrouverez dans le manuel en ligne) pour modier les droits dun chier est : chmod u+r OU donne le droit en lecture (r) au propri etaire (user) pour le chier OU chmod u-r OU refuse le droit en lecture (r) au propri etaire (user) pour le chier OU chmod uo+x OU donne le droit en ex ecution (x) au groupe (u) et au autres (o) pour OU Vous rencontrerez des chiers dont les droits contiennent dautres lettres que r, w et x. Vous trouverez les lettres s, S, t. Consultez le manuel en ligne de la commande chmod pour en savoir plus. Essayez dex ecuter le chier OU. Que se passe-til ? Modiez les droits du chier OU an que tout le monde puisse lex ecuter et le lire et que seul le propri etaire puisse le modier ( ecrire). V eriez quil est maintenant possible dex ecuter le chier OU.

La recherche dun chier


La commande nd est utilis e pour rechercher des chiers par leur nom, leur taille, leur date, leur type etc... Cette commande est tr` es puissante. Elle permet entre autre dassocier une action aux chiers qui seront trouv es. La syntaxe de base de la commande est la suivante : nd r epertoire de d epart caract eristiques recherch es On peut donner comme exemple : nd /home -name OU recherche ` a partir de /home tous les chiers nomm es OU nd . -newer OU recherche ` a partir du r epertoire courant (.) les chiers dont la date est plus r ecente que celle du chier OU Il est possible dutiliser les caract eres *, ?, [] pour donner des caract eristiques communes aux chiers recherch es : nd / -name wh ?r[a-i]* recherche ` a partir de / les chiers qui commencent par wh dont la troisi` eme lettre est quelconque et la quatri` eme dans lintervalle a ` a i avec toutes les lettres suivantes quelconques.

Les r epertoires
Vous utiliserez la commande mkdir pour cr eer un r epertoire et la commande rmdir pour le supprimer. Il faut noter que rmdir ne supprime le r epertoire que si celui-ci est vide. Toutes les autres op erations ( d eplacement, mise ` a jour de la date et des caract eristiques, recherche, changement du nom ) sur les r epertoire sont eectu es avec les commandes utilis ees pour les chiers simples. Concernant les droits, rappelons que le x indiquant un droit en ex ecution pour un chier ordinaire devient un droit de passage dans le cas dun r epertoire.

Cr eation et modication
Sous votre Home directory, cr eez un r epertoire rep en utilisant la commande mkdir. Constatez que le premier caract` ere des attributs est d. D eplacez le chier OU dans ce r epertoire en utilisant mv. V eriez avec la commande ls le bon d eroulement de ce d eplacement. Modiez les droits du r epertoire an d eviter que tout autre utilisateur que vous-m eme puisse y passer.

Les chiers lien simple et lien symbolique


La cr eation
La cr eation dun lien simple se fait avec la commande ln de la mani` ere suivante : ln fichier_r ef erenc e nouveau_fichier La cr eation dun lien symbolique se fait avec la m eme commande en ajoutant loption s. La syntaxe est la suivante : ln -s fichier_r ef erenc e nouveau_fichier

La cr eation et la suppression
Recopiez le chier OU dans votre r epertoire dorigine. Tapez la commande ln OU lien. Le syst` eme a cr e e un chier de type lien nomm e lien. Visualisez ce chier. Que constatez-vous ? Quel est le premier caract` ere de lattribut de ce chier ? Rajoutez du texte au chier lien en tapant la commande cat >> lien et terminez la saisie par CTRL-D. Que constatez vous au niveau du chier OU ? Et si vous ajoutez du texte ` a OU, que se passe-til pour le chier lien ? Si vous eacez le chier OU, que devient le chier lien ? Expliquez ce qui se passe, ` a votre avis, lors dune commande ln. Revenez ` a la conguration de d epart (cad le chier OU dans votre r epertoire dorigine o` u eme raisonnement que vous vous placez ). Tapez la commande ln -s OU lien s et suivez le m pr ec edemment sachant que vous venez de cr eer un chier de type lien symbolique.

Pour les plus rapides...


Utilisez la commande mount sans aucun param` etre pour connaitre lorganisation de votre syst` eme de chiers. Utilisez la commande df pour : 1. connaitre loccupation en blocs de votre syst` eme de chier ; 2. connaitre le nombre total, actuel et libre de chiers.

Вам также может понравиться