# Répertoires

# Les répertoires (directories)

Le cours Unix du Hublot, pendant l'année 1999-2000, a abordé les notions de répertoire et de fichier. Vous pouvez allez lire Concept : arborescence dans le numéro 3, janvier 2000).

## Créer et détruire des répertoires

### `mkdir`

`mkdir truc` (make directory) : crée un répertoire de nom « truc ».

### `rmdir`

`rmdir chose` (remove directory) : détruit le répertoire de nom « chose ». Cela ne fonctionne que si le répertoire est absolument vide.

### Exemple :

Au départ j'ai juste un répertoire `socio.`

    mkdir histoire

    rmdir histoire

Le tilde `~` désigne le home-directory (« répertoire-maison » ; répertoire d'accueil), c'est-à-dire l'utilisateur lui-même, « chez soi » ; par exemple le home-directory de Toto (nom de login `toto`) est `~toto`.

Exercices sur mkdir et rmdir

## Faire un inventaire : `ls` (list)

### Utilisation de `ls`

`ls` donne le contenu du répertoire où l'on se trouve, dans l'ordre suivant : symboles, chiffres, majuscules, minuscules. Les fichiers apparaissent sous leur nom, les sous-répertoires ont leur nom suivi d'un slash (par exemple, `truc/`). Les noms de fichiers suivis d'une étoile sont des exécutables.

`ls nom-de-répertoire` donne le contenu du répertoire désigné; là aussi on peut taper par exemple `ls -l truc/` pour savoir la taille des fichiers contenus dans le répertoire `truc/`. Par exemple :

Si j'ai une arborescence comme celle-ci :

    corvette ~ $ ls
    egypte.tex
    histoire/
    corvette ~ $ ls -a histoire/
    ./
    ../
    Revolution
    chronologie

### Options de `ls`

`ls` a un tas d'options, entre autres pour déterminer le critère du tri (tri alphabétique, inverse, par date, etc). Voici les options les plus courantes (pour d'autres options, voir les exercices) :

#### `ls -l`

Donne la liste des fichiers avec entre autres les droits (possibilité pour d'autres personnes de lire les fichiers, écrire dedans ou les exécuter), la taille (en octets) et la date de dernière modification. Et `ls -l` donnera (par exemple) :

Droits | Liens | Propriétaire | Groupe | Taille | Date | Nom
--- | --- | --- | --- | --- | --- | ---
-rw-r--r-- | `1` | `robin` | `litt98` | `2166` | `Aug 30 15:04` | `egypte.tex`
`drwxr-xr-x` | `2` | `robin` | `litt98` | `512` | `Mar 6 2000` | `histoire/`

#### `ls -a`

Donne la liste de tous les fichiers, y compris ceux commençant par un point (fichiers de configuration essentiellement).

#### `ls -F`

C'est l'option qui ajoute un caractère aux noms de fichiers afin de les identifier. L'option `-F` est activée avec la config conscrits, ce qui explique que, par défaut, `ls` affiche ces caractères.

Exercices sur ls

## Se déplacer : `cd` (change directory)

`cd` sert à changer de répertoire :

### `cd` sans argument

Ramène au répertoire d'accueil, autrement dit chez soi, au point de départ de l'arborescence du compte.

### `cd` suivi d'un nom de répertoire

Sert à aller dans ce répertoire.

    cd histoire/

place dans le répertoire `histoire/`.

`cd ..` (point point) fait remonter d'un niveau dans l'arborescence.

### Exemple

Supposons que nous nous trouvons dans `~/histoire/moderne/documents/`.

Pour retourner du premier coup au home directory :

    cd

Si on veut remonter dans `moderne` (répertoire parent de `documents/`) :

    cd ..

Si on veut remonter jusqu'à `histoire/` :

    cd ../..

Si on veut aller dans `medievale/` :

    cd ../../medievale

ou

    cd ~/histoire/medievale

Si on veut aller de `documents` dans `Bourbons/` :

    cd ../Bourbons

Pour aller directement d'`histoire/` dans `documents/` :

    moderne/documents

Exercices sur cd

## Se repérer : `pwd` (print working directory)

`pwd` affiche le répertoire courant, c'est-à-dire le répertoire où vous vous trouvez actuellement. C'est utile quand le prompt ne l'indique pas. Prenons comme référence l'arborescence de la figure ci-dessus :

    corvette ~/histoire/moderne/documents $ pwd
    /users/98/litt/toto/histoire/moderne/documents
    corvette ~/histoire/moderne/documents $ cd ~/geo
    corvette ~/geo $ pwd
    /users/98/litt/toto/geo

Comme vous le constatez, c'est l'adresse absolue du répertoire qui est indiquée : `pwd` indique tous les noms de répertoires traversés depuis la racine (`/users`) pour l'atteindre. L'adresse relative d'un fichier ou d'un répertoire est donnée par rapport au répertoire personnel de l'utilisateur : « ~ » signifie en fait `/users/98/litt/toto` (dans le cas de Toto).

Auteur : Émilia Robin. Dernière modification le 2002-11-17.