Précédent Index Suivant

3.7   Tailles et greffes

On crée un répertoire grâce au programme mkdir (pour MaKe DIRectory). Par exemple, la commande
 mkdir /u/nkw /u/nkw/own 
crée sous u le répertoire nkw, et sous ce dernier own. Cet ordre de création est bien sûr à respecter ! La commande suivante crééra les mêmes répertoires :
 "cd u ;  mkdir nkw ;  cd nkw ;  mkdir own" 

Lorsqu'un répertoire est créé, il est vide et comporte seulement les deux entrées . et ...

On supprime un répertoire vide grâce à rmdir (pour ReMove DIRectory). Par exemple on détruira les répertoires précédemment créés par
 rmdir /u/nkw/own /u/nkw 
dans cet ordre !

La suppression de fichier s'effectue similairement grâce à rm (pour ReMove).

La création de fichier ne passe pas par des commandes particulières. De nombreux programmes en créent (éditeurs de textes entre autres) ainsi que le détournement de flux (spécificateur >). La création de fichiers utilise le sous-programme creat du coeur d'UNIX. Si le fichier n'existait pas précédemment, il est créé sinon il est remis à vide.

De nombreux programmes modifient les fichiers (éditeurs, metteur au point ...). Un important cas particulier est l'ajout incrémentiel. Le fichier se voit étendu par suffixation, sans modification aucune de la partie préfixe. Un spécificateur particulier >> permet sous sh de détourner un flux en queue d'un fichier. Par exemple, les deux programmes suivants sont équivalents.
PROG=gros_calcul                # un programme très long
echo debut de $PROG     >log    # dont on veut enregistrer
date                    >>log   # la durée d'exécution
$PROG
echo fin de $PROG       >>log   # dans le fichier log.
date                    >>log  

PROG=gros_calcul
{ echo debut de $PROG           # On opère ici
  date                          # par détournement
  $PROG                 >/dev/tty
  echo fin de $PROG             # du flux de la séquence
  date ;                 } >log 

Le programme cp (pour CoPy) permet de dupliquer un fichier dans un autre et de créer cet autre si besoin est. Dans tous les cas, après copie, les contenus des deux fichiers source et destination sont identiques. Attention la recopie d'un fichier dans lui-même est un moyen sûr de le remettre à vide (du fait de l'appel à creat sur la destination)!

La situation initiale : avant

Copie de fichiers

le programme mv (pour MoVe) permet de déplacer un fichier ou un répertoire dans l'arborescence. Pour un fichier,
mv x y 
est grosso-modo comparable à
cp x y;  rm x  
mv est bien plus rapide car il ne fait que changer les liens d'attachement arboricole du descripteur de fichier. Par exemple

Déplacement de fichiers

Un important cas particulier existe lorsque répertoire de départ et d'arrivée sont identiques : il n'y a alors que changement de nom.

Le programme ln (pour LiNk) permet de créer des synonymes. Un fichier peut ainsi être connu sous plusieurs noms. Par exemple
 ln sos help 
rend indiscernables sos et help. Attention toute modification de help ou de sos sera instantanée perçue de l'autre puisque ce n'est qu'un unique et même fichier. En revanche la suppression de sos laisse help inaltéré. L'analogie précédente serait mieux représentée par ln.
 mv x y 
est plus conforme à
ln x y;  rm x  



Précédent Index Suivant