• Aucun résultat trouvé

ecrire les messages qu’il produit en sortie, dans le cas d’une ex´ecution normale.

Il est ouvert avec le num´ero logique 1 (file descriptor C), et il est, par d´efaut associ´e `a l’´ecran.

Le fichier stderr (sortie d’erreurs standard), est le fichier dans lequel le process va ´ecrire les messages d’erreur. Il est ouvert avec le num´ero logique 2 (file descriptor C), et il est par d´efaut associ´e `a l’´ecran.

Remarque 1.7 :

On distingue toujours deux canaux de sorties (un pour les sorties normales et un pour les erreurs). En effet, si un process doit ´ecrire dans un fichier et qu’une erreur se produit (impossibilit´e d’´ecrire par exemple), il faut afficher un message sur un canal de sortie diff´erent.

Le tableau 1.3 donne les ´equivalences des noms des canaux d’entr´ees/sorties entre les syst`emesUnixet OpenVmsde Digital.

Unix OpenVms stdin SYS$INPUT stdout SYS$OUTPUT stderr SYS$ERROR

Tab. 1.3 – ´Equivalences des noms des canaux d’entr´ees/sorties entreUnix et OpenVms

1.7 Les filtres

Un filtre est une commandeUnixdevant effectuer une action sur les donn´ees en lecture `a partir de l’entr´ee standard et afficher le r´esultat en ´ecriture sur la sortie standard.

La figure 1.4 montre le principe des filtres sous Unix.

Fig.1.4 – Principe des filtres sousUnix

Il est possible d’enchaˆıner plusieurs filtres les uns aux autres. Par contre, les process en d´ebut et en fin de chaˆınes ne doivent pas se comporter comme des filtres.

Chapitre 2

Commandes Unix

2.1 Commandes li´ ees au file system

2.1.1 Commandes pwd et cd

pwd= Print Working Directory cd = Change Directory Syntaxe :

pwd Affiche le chemin d’acc`es absolu du r´epertoire cou-rant.

cd repertoire Change le r´epertoire courrant.

Exemple 2.1 :

% pwd

/home/users/bart

% cd /home/users/schmoll

Le tableau 2.1 donne une ´equivalence des commandes de d´eplacement dans l’arborescence entreUnixet OpenVms .

Unix OpenVms cd SET DEFAULT pwd SHOW DEFAULT

Tab.2.1 – ´Equivalence des commandes de d´eplacement dans l’arborescence sur le syst`eme

2.1.2 Commande ls

Syntaxe :

ls [-ladFR] [fichier ...]

Liste le contenu d’un r´epertoire.

La commande ”ls” sans argument, liste les noms de fichiers (ou de r´epertoires) pr´esents dans le r´epertoire courant. Cette commande, utilis´ee avec un nom de

13

Chapitre 2. CommandesUnix

fichier comme argument, permettra de v´erifier l’existence de celui-ci. Si l’argu-ment utilis´e est un nom de r´epertoire, ”ls” en listera le contenu.

Il existe de tr`es nombreuses options pour la commande ”ls”. La liste ci-dessous est les options les plus utilis´ees.

-l affiche le type de fichier, les protections, le nombre de liens avec le fichier, le propri´etaire, le groupe, la taille en octets, la date de derni`ere modification et le nom du fichier.

-F ajoute un ”/” apr`es le nom de chaque r´epertoire, un ”*” apr`es chaque fichier poss´edant le droit d’ex´ecution et un ”@” apr`es chaque fichier lien (cf. section 2.2.3).

-a liste tous les fichiers y compris les fichiers cach´es.

-R liste les fichiers et les r´epertoires de fa¸con r´ecursive.

-d ne descend pas dans un r´epertoire si le param`etre est un nom de r´epertoire.

Exemple 2.2 :

% ls -F

dir1/ fic1 fic2* fic3@

% ls -a

. .. .profile dir1 fic1 fic2 fic3

% ls -l

drw-rw-rw- 3 schmoll esme 24 Jul 25 10:00 dir2 -rw-r--r-- 1 schmoll esme 37 Jul 25 12:00 fic1 -rwxr-xr-x 1 schmoll esme 37 Jul 25 12:00 fic2

lrw-r--r-- 1 schmoll esme 37 Jul 25 12:00 fic3 -> /tmp/ficref

% ls -R

Le tableau 2.2 montre les ´equivalences entre les commandes des syst`emes Unix, OpenVms etMS-DOSpour afficher la liste des fichiers d’un r´epertoire.

Unix OpenVms MS-DOS

ls DIRECTORY DIR

ls -l DIRECTORY/FULL N/A

ls -R DIRECTORY [...] Absent deCOMMAND.COM ls rep DIRECTORY [.REP] DIR \REP

ls -d rep DIRECTORY REP.DIR DIR REP

Tab. 2.2 – ´Equivalences entre syst`emes pour afficher la liste des fichiers d’un r´epertoire

2.1.3 Commandes mkdir et rmdir

Syntaxe :

mkdir [-p] directory ... (make directory) rmdir directory ... (remove directory)

2.1. Commandes li´ees au file system

La commande mkdir permet de cr´eer des r´epertoires. Lorsqu’un r´epertoire est cr´e´e, il poss`ede automatiquement deux sous r´epertoires : ”.” et ”..” qui se-ront examin´es plus loin. La commandermdirpermet de supprimer des r´epertoires.

Les r´epertoires `a supprimer doivent imp´erativement ˆetre vides (ils ne doivent contenir que les r´epertoires ”.” et ”..”). D’autre part, il est impossible de sup-primer des r´epertoires qui se trouvent entre la racine et le r´epertoire courant.

Chacune de ces deux commandes peut avoir plusieurs arguments. Les arguments demkdirsont les noms de r´epertoires `a cr´eer. Les arguments dermdirdoivent ˆetre des noms de r´epertoires d´ej`a existants. Dans les deux cas, on peut utiliser des chemins d’acc`es relatifs ou absolus.

Remarque 2.1 :

Lorsqu’on utilise la commande rmdir avec plusieurs arguments, rmdir d´etruit les r´epertoires dans l’ordre dans lequel ils ont ´et´e pr´ecis´es sur la ligne de commande. Par cons´equent, si l’on veut en d´etruire plusieurs, l’ordre sur la ligne de commande a une impor-tance.

Exemple 2.3 :

% mkdir mondir

% mkdir mondir/sd1 mondir/sd2 mondir/sd1/sd11

% mkdir mondir/sd3/sd31

% rmdir mondir/sd2

% rmdir mondir/sd3/sd31 mondir/sd3

% rmdir mondir/sd1/sd11 mondir/sd1 mondir

Le tableau 2.3 montre les ´equivalences entre les commandes des syst`emes Unix, OpenVmset MS-DOSpour la gestion des r´epertoires.

Unix OpenVms MS-DOS mkdir CREATE/DIRECTORY MDouMKDIR

rmdir DELETE RDouRMDIR

Tab.2.3 – ´Equivalences entre syst`emes pour la gestion des r´epertoires

2.1.4 R´ epertoires ”.” et ”..”

Quand un r´epertoire est cr´e´e, le syst`eme g´en`ere automatiquement deux sous-r´epertoires repr´esentant des liens vers le r´epertoire cr´e´e et le r´epertoire p`ere :

– le r´epertoire ”.”= r´epertoire courant, – le r´epertoire ”..” = r´epertoire p`ere.

Le r´epertoire ”..” est tr`es utile pour r´ef´erencer ce qui se trouve au dessus du r´epertoire courant dans l’arborescence du file system. Ainsi il suffira d’utiliser

”..” dans un chemin d’acc`es relatif pour r´ef´erencer le r´epertoire p`ere.

Par exemple ”cd ..” remonte d’un cran dans l’arborescence et ”more ../../fic”

liste le contenu d’un fichier deux niveaux au dessus dans l’arborescence. La fi-gure 2.1 montre les liens entre les r´epertoires ”.” et ”..” et les r´epertoires fils et p`eres.

Le tableau 2.4 montre des exemples d’´equivalences entre les syst`emesUnix, OpenVmset MS-DOSde manipulation des r´epertoires ”.” et ”..”.

S.Baudry, Introduction `a Unix– v4.0 15

Chapitre 2. CommandesUnix

Fig.2.1 – Liens des r´epertoires ”.” et ”..”

Unix OpenVms MS-DOS

. [] .

.. [-] ..

../.. [--] ..\..

Tab. 2.4 – Exemples d’equivalences entre syst`emes pour la manipulation des r´epertoires ”.” et ”..”