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