Laboratoire 6 - Systèmes de gestion des fichiers
L’objectif de ce laboratoire est de se familiariser avec le système de gestion des fichiers.
Remarque: n’oubliez pas, lors de l’utilisation d’appels systèmes, de traiter les cas d’erreur.
Attributs des fichiers et table des inodes
L’objectif est d’écrire une version simplifiée du programme ls
.
Des options supplémentaires sont ajoutées dans le laboratoire suivant.
Essayez de suivre les étapes suivantes :
- Écrivez un programme
mini_ls
qui, pour un fichier donné en argument, affiche à l’écran: le numéro d’inode, le type de fichier, les droits d’accès, le nombre de liens durs, l’uid et le gid propriétaires, la taille du fichier, et la date de dernière modification. Pour ce faire, les fonctionsstat
fstat
lstat
pourront vous être utiles. La sortie fournie par votre programme devrait être similaire à celle de la commandels
avec les options-l
,-n
,-i
et-d
.
$ ./mini_ls votre_fichier.txt
Numéro inode | Droits | Nb liens | uid | gid | Taille | Dernière modification
16132273 | rw-rw-r-- | 1 | 1000 | 1001 | 86 | oct 21 15:05
-
On peut passer en argument plusieurs fichiers, on a alors une ligne par fichier
-
Si le fichier est un lien symbolique, affichez la destination du lien de façon similaire a
ls -l
(par exemplemon_lien -> fichier_pointé
). La fonctionreadlink
vous sera utile. -
Affichez le nom du fichier en couleur
- vert: exécutable
- bleu: répertoire
- bleu ciel: lien symbolique
- rouge: lien symbolique brisé
-
Extra. utiliser la variable d’environnement
LS_COLORS
pour savoir de quelle couleur afficher les entrées en fonction de leurs extensions.