Le système de fichiers d'Unix


Les fichiers d'une machine Unix/Linux sont organisés en un arbre dont les noeuds internes sont les répertoires.

A chaque utilisateur (login) correspond un répertoire particulier, c'est son home directory dans lequel il peut construire son arborescence personnelle. Ce répertoire s'écrit ~login. Pour un utilisateur ~ (sans le login) désigne son propre home directory.

Un chemin dans l'arborescence s'écrit en énumérant les noeuds rencontrés avec des / comme séparateurs, par exemple ~/INF_321/TD1/ A partir de tout répertoire, .. désigne le répertoire père et . le répertoire lui-même.

Home directory

Sur les machines de l'enseignement, les home directories résident sur un gros serveur de fichier et le protocole NFS (Network File System) permet de les rendre accessibles sur chaque machine. Chaque utilisateur a les moyens de contrôler les droits d'accès à son arborescence personnelle.

Les principales commandes de gestion des fichiers

pwd
La commande pwd (print working directory) affiche le répertoire courant.

cd
La commande cd nom_de_repertoire (change directory) permet de se placer dans le répertoire nom_de_repertoire. Utilisée sans argument, la commande cd replace dans le home directory.

ls
La commande ls nom_de_repertoire liste le contenu du répertoire nom_de_repertoire. Utilisée sans argument, elle liste le contenu du répertoire courant. L'option -a permet de lister également les fichiers dont le nom commence par ., l'option -l affiche les propriétés des fichiers (droits d'accès, propriétaire, taille, date de modification), l'option -t liste les fichiers en les triant suivant la date de la dernière modification.

mkdir
La commande mkdir nom_de_repertoire (make directory) crée le répertoire nom_de_repertoire.

rmdir
La commande rmdir nom_de_repertoire (remove directory) supprime le répertoire nom_de_repertoire, à condition qu'il soit vide.

cp
La commande cp fichier_depart fichier_arrivee (copy) copie le fichier désigné par le premier argument dans le fichier désigné par le second. Avec la commande cp fichier1 [fichier2 fichier3...] repertoire_arrivee, où le dernier argument est un répertoire existant, tous les fichiers désignés par les arguments précédents sont copiés dans ce répertoire.

mv
La commande mv fichier_depart fichier_arrivee (move) s'utilise comme cp mais, au lieu de copier, elle déplace les fichiers. On peut aussi utiliser mv fichier1 [fichier2 fichier3...] repertoire_arrivee

rm
La commande rm fichier1 [fichier2 fichier3...] (remove) supprime le ou les fichiers arguments.

Les expansions d'arguments

Certains caractères spéciaux sont interprétés dans les arguments. Les deux les plus utilisés sont :
Les deux caractères spéciaux les plus utilisés sont : Par exemple, la commande rm TD?/*.class supprime tous les fichiers dont le nom est suffixé par .class dans tous les répertoires dont le nom est formé de la chaîne de caractères TD suivie d'un caractère (par exemple, TD1, TD2, mais pas TD10).



Dernière mise à jour : 25/04/2009

Anne Canteaut, d'après des pages de Philippe Chassignet et David Monniaux.