Précédent Index Suivant

3.9   Les fichiers spéciaux

Les fichiers spéciaux sont des programmes particuliers que l'on peut mettre en oeuvre comme s'ils étaient des fichiers ! On peut en effet les lire et les écrire par les mêmes mécanismes. C'est une des grandes forces d'UNIX que d'avoir unifié les accès aux fichiers et aux périphériques. Ecrire sur une bande magnétique ou un terminal s'énonce d'une même manière tandis qu'à l'insu de l'utilisateur est mis en oeuvre, bien sûr, le programme interne adapté. Quelques fichiers spéciaux (usuellement regroupés sous /dev) sont null, tty, tty*, lp, hd*, fd* ...

3.9.1   /dev/null

/dev/null est, en écriture, un puits sans fond où s'engouffrent tous les caractères qu'on y peut écrire. En lecture c'est le flux nul ! /dev/null est pratique pour se débarasser des sorties encombrantes (messages d'erreur)
 rm *.f 2>/dev/null 
ne récriminera jamais.

3.9.2   /dev/tty

/dev/tty est, pour chacun, son couple clavier-écran. Le programme /usr/bin/tty délivre le nom physique de ce couple.
$ tty
/dev/tty02  
/dev/tty ne fait, pour cet utilisateur, que rediriger ses entrées et sorties vers /dev/tty02. Ce dernier est l'interface entre le terminal branché sur l'ordinateur en position 2 et UNIX. Cette interface est largement détaillée plus loin.

3.9.3   /dev/lp

Parmi tous les dispositifs communs se trouve /dev/lp (pour Line Printer) où est branchée l'imprimante principale du calculateur. On peut imprimer un fichier en le détournant sur elle comme dans :
 cat fichier >/dev/lp 
Mais afin de pouvoir la mettre en commun il est raisonnable d'utiliser lpr (pour Line PRinter). Ce dernier sérialise les impressions et est capable de les reprendre en cas d'indisponibilité de l'imprimante (en jargon spooler). On écrira alors
 lpr fichier 
On utilisera par ailleurs le filtre pr (pour imPRimer) qui prépare les sorties en découpant le listage en pages, en insérant en tête de chaque page le nom du fichier , le numéro de page et la date. L'écriture standard est alors
 print fichier 
print est le script
 pr $* | lpr 

3.9.4   Les supports magnétiques

Les fichiers sont stockés sur disques durs hd?? (pour Hard Disk numéro quelquechose) ou sur disquettes fd??(pour Floppy Disk numéro quelquechose). Les /dev/?d?? sont les interfaces vers ces périphériques de mémorisation.

Ces périphériques peuvent être montés ou démontés. Un periphérique est monté lorsqu'il est physiquement présent et qu'UNIX le sait. Par exemple, insérer une disquette dans le lecteur la rend physiquement présente. Ordonner
 mount /dev/fd02 /f 
indique à UNIX, que l'arborescence présente sur fd02 est à greffer sur l'arborescence principale sous le répertoire /f.


On peut bien sûr choisir librement n'importe quel autre répertoire (même /) pour y greffer /dev/fd02.

On peut démonter un périphérique grâce à
 umount /dev/fd02 
puis en l'ôtant physiquement.
Précédent Index Suivant