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_lsqui, 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 fonctionsstatfstatlstatpourront vous être utiles. La sortie fournie par votre programme devrait être similaire à celle de la commandelsavec les options-l,-n,-iet-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 fonctionreadlinkvous 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_COLORSpour savoir de quelle couleur afficher les entrées en fonction de leurs extensions.