I. Syst�me de fichiers sous Unix

Par Hugo ETIEVANT


  1. Arborescence
  2. Noms de fichiers
  3. Chemin d'un fichier
    1. R�pertoire parent
    2. R�pertoire courant
    3. Chemin absolu
    4. Chemin relatif
  4. Types de fichiers
    1. Ex�cutable
    2. R�pertoire
    3. Lien (ln)
      1. Symbolique
      2. Physique
    4. Fichier
    5. Fichier cach�
  5. Navigation (cd)
  6. Commandes sur le syst�me de fichiers
  7. Lister les fichiers (ls)
  8. M�ta-caract�res

Arborescence

arboraissance des fichiers

Comme dans tous les autres syst�mes d'exploitation, les donn�es sont organis�es en fichiers eux-m�mes organis�s en r�pertoires (et sous-r�pertoires) sur les �l�ments de sauvegarde. L'architecture du syst�me de fichiers est sous la forme d'un arbre dont le r�pertoire not� / est la racine. Tous les autres r�pertoires en sont les noeuds et les fichiers les feuilles. Un syst�me de fichier est donc un arbre n-aire.


Noms de fichiers

Sous Unix (et contrairement au Dos), tous les caract�res alphanum�riques plus la ponctuation sont des caract�res valides. De plus il n'existe pas de notion d'extention de fichier. Cela fait du caract�re . (point) un caract�re comme un autre qui peut appara�tre plus d'une fois dans un nom de fichier. Par contre l'espace est consid�r� comme un s�parateur � proscire dans le nommage des fichiers. Le syst�me Unix n'accepte pas les caract�res accentu�s et distingue les minuscules des majuscules.

Exemples :

  • MonProg.c et monprog.c ne repr�sentent pas les m�mes fichiers
  • a.b... est un nom de fichier valide sous Unix
  • tp6-31/03/2001.c est valide
  • _Z_ l'est aussi

Alors que sous Dos, les fichiers sont au format 8.3 c'est-�-dire que les fichiers portent un nom de 8 caract�res et une extention de 3 caract�res s�par�s par un point (.), le syst�me Unix autorise tout comme Windows95 des noms de fichiers long (256 caract�res environ).

Les caract�res invalides sous Dos (;+=[]',"*\<>/?:|.) sont accept�s par Unix.

Exemple : logo.cyber+zoide.jpeg est accept� par Unix mais refus� par Dos.


Chemin d'un fichier

Tous ces �l�ments sont h�rarchis�s les uns par rapport aux autres. Cette contrainte est repr�sent�e par la notion de chemin d'un fichier. En effet, un fichier est localisable sans ambiguit� (de fa�on exacte et unique) par son chemin. Ce dernier repr�sente la succession des r�pertoires � parcourir pour acc�der au fichier (navigation dans l'arbre). Les r�pertoires sont s�par�s par un slash not� / dans l'�criture du chemin (attention, c'est le m�me symbole qui repr�sente la racine).

R�pertoire parent

Le r�pertoire parent est celui hi�rarchiquement imm�diatement sup�rieure � celui courant. Il est not� deux points ..

R�pertoire courant

On appelle r�pertoire courant celui dans lequel on se trouve � un instant donn� durant la navigation dans le syst�me de fichiers. Il est not� point .

Chemin absolu

Le chemin absolu d�signe la succession des r�pertoires � parcourir depuis la racine pour acc�der au fichier sp�cifi�.

Exemple : /home/h-etie00/tpC/tp3.c pour acc�der au fichier tp3.c du syst�me de fichier ou qu'on se trouve dans le syst�me (repr�sent� dans le sch�ma plus-haut).

Chemin relatif

Le chemin relatif d�signe la succession des r�pertoires � parcourir depuis le r�peroire courant pour acc�der au fichier sp�cifi�.

Exemple: ../monprog.c pour acc�der au fichier monprog.c lorsqu'on se trouve dans le r�pertoire tpC. La pr�sence du r�pertoire parent dans ce chemin relatif permet de remonter dans l'arbre.


Types de fichiers

Sous Unix, les fichiers peuvent �tre de 5 types diff�rents :

Ex�cutable

Les fichiers ex�cutables correspondent � des programmes (�crits en langage C g�n�ralement). Il n'est pas conseill� de tenter de les �diter � l'aide d'un �diteur de texte traditionnel : il n'appara�tra que des caract�res bizarres et incomprehensibles. Seules les cha�nes de caract�res stock�es en constantes dans l'ex�cutable seront visibles. Mais en g�n�ral la taille d'un ex�cutable devrait vous en dissuader.

R�pertoire

Les r�pertoires, nous l'avons vu plus haut, sont des ensembles de fichiers et de r�pertoires.

Un r�pertoire peut ne contenir aucun fichier. Mais en revanche, un r�pertoire contient toujours un r�pertoire parent .. et un r�pertoire courant . .

Les liens (ln)

Les liens sont des fichiers assez sp�ciaux puisqu'il permettent d'associer plusieurs noms � un seul et m�me fichier. Pour cr�er un lien, utiliser la commande ln.

L'utilit� des liens est �vidente puisqu'ils permettent � partir d'un seul fichier physiquement pr�sent sur l'espace disque, d'avoir plusieurs r�f�rences de noms diff�rents et localis�es en des lieux diff�rents d'un m�me fichier qu'il n'est plus besoin de copier. Lorsque le fichier point� est volumineux, l'emploi des liens est donc tr�s avantageux.

Les liens peuvent �tres de deux types :

Lien symbolique

Un lien symbolique est un simple pointeur vers un autre fichier bien r�el.

La commande ln -s permet de cr�er un lien symbolique sur un fichier. Ce lien sera pr�sent sous la forme d'un fichier dont le nom sera affich� apr�s le symbole @.

Syntaxe : ln -s nom-du-fichier-�-pointer nom-du-lien-symbolique

Lien physique

Un lien physique sur un fichier est un fichier qui occupe exactement le m�me espace disque que le fichier vers lequel il pointe.

Ainsi les deux fichiers : le lien et le fichier point� sont physiquement les m�mes bien que virtuellement (pour le syst�me de fichiers) ils portent des noms diff�rents et puissent �tre localis�s dans des r�pertoires diff�rents.

Syntaxe : ln nom-du-fichier-�-pointer nom-du-lien-symbolique

Vous aurez remarquer ici l'absence de l'attribut -s r�serv� aux liens symboliques.

Fichier

Un fichier est de type fichier lorsqu'il est "tout � fait normal", qu'il n'a rien de particulier ; c'est-�-dire lorsqu'il n'est ni un ex�cutable, ni un r�pertoire et ni un lien.

Fichier cach�

Les fichiers et r�pertoires cach�s se distinguent des autres par la seule pr�sence d'un point (.) en premi�re position dans leur nom. La commande de listage des fichiers ne les affichera pas par defaut.


Navigation (cd)

La commande unix de navigation dans le syst�me de fichier est : cd pour Change Directory.

ExempleDescription
cd .Se d�place vers le r�pertoire courant c'est-�-dire ne change pas de place!
cd ..Va dans le r�peroire parent.
cd /Saute vers le r�peroire racine, � la base de tout le syst�me.
cd /homeSe d�place vers le r�pertoire home fils de la racine.
cd /home/h-etie00Parcours l'arbre jusqu'au r�pertoire h-etie00 en passant par la racine, puis par home.
cd ../MailRemonte l'arbre d'un cran, puis va dans le r�pertoire Mail
cd ../..Remonte de deux crans.


Commandes sur le syst�me de fichiers

CommandeDescription
rmSupprime un fichier ou un r�pertoire.
mvD�place ou renomme un fichier ou un r�peroire.
mkdirCr�e un r�peroire.
rmdirSupprime un r�pertoire.
cpCopie un fichier ou un r�pertoire.
pwdAffiche le chemin du r�pertoire courant.
cdSe d�place dans le syst�me de fichier.
lsAffiche la liste des fichiers et r�pertoires.
lnCr�e un lien vers un fichier.

Aux commandes sur les fichiers (rm, mv, cp) vous pouvez sp�cifier plusieurs arguments et utiliser les m�ta-caract�res.


Lister les fichiers (ls)

Une commande essentielle de tout syst�me d'exploitation est le listage des fichiers et sous-r�pertoires du r�pertoire courant.

L'�quivalent sous Unix de la commande dir du Dos est ls.

Syntaxe : ls

Exemple :

$ ls
amoi.c           montage.jpg     tp3.c
lettre.doc       tp1.c           zizitop.mp3
monprog.c        tp2.c           

Cette commande accepte les m�ta-caract�res afin de n'afficher que les fichiers qui r�pondent � certaines contraintes lexicographique.

Syntaxe : ls expression-r�guli�re

Exemple :

$ ls *.c
amoi.c           tp1.c           tp3.c
monprog.c        tp2.c

On peut afficher toutes les informations relatives � un fichier : type, droits, num�ro d'inode, nom, UID, GID, taille, date et heure de cr�ation... avec l'attribut -l.

Syntaxe : ls -l

Exemple :

$ ls -l
-rwxr--r--  1 root  univ   106  Apr 10  15:09 amoi.c
drwxr-xr-x  1 root  univ  1024  Jan 5   20:54 DATA
-rwx------  1 root  univ  5160  Feb 23  09:22 lettre.doc
lrwxrwxrwx  1 root  univ     3  Jan 24  12:16 tp -> TpK

Pour afficher les fichiers cach�s, utiliser l'attribut -a (all). Tr�s pratique pour lister les fichiers de configuration.

Syntaxe : ls -a

Exemple :

$ ls -a
.bash            lettre.doc      tp2.c
.netscape        monprog.c       tp3.c
.profile         montage.jpg     zizitop.mp3
amoi.c           tp1.c

CommandeDescription
lsListe les fichiers par ordre aplab�tique en colonnes.
ls -lListe les fichiers en ligne avec toutes les informations connexes.
ls -aListe en plus les fichiers cach�s.
ls -mS�pare les fichiers par une virgule.
ls -tTri par date.
ls -luTri par date de dernier acc�s et affiche cette date.
ls -FAffiche les types de fichiers i.e. en rajoutant le symb�le correspondant : / (r�pertoire), * (ex�cutable), @ (lien).
ls -STri par ordre de taille d�croissante.
ls -XTri par type d'extention.
ls -rTri inverse.


M�ta-caract�res

Les m�ta-caract�res * (ast�risque) et ? (point d'interrogation) sont tr�s utiles lors de la manipulation de fichiers en groupe. Le m�ta-caract�re * remplace dans l'expression dans laquelle il apparait, z�ro, un ou plusieurs autre(s) caract�re(s). Quand � ?, il remplace un et un seul caract�re.

Par exemple, la commande rm * -r supprime tous les fichiers de tous les r�peroires inclus dans celui courant. A utiliser avec parcimonie!

Alors que mv tp*.c tpC d�place dans le r�pertoire tpC tous les fichiers ayant n'importe quoi entre tp et .c.

Mais si on �crit mv tp??.c tpC , on d�place les fichiers contenant exactement deux caract�res entre tp et .c.