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 ”..”