Système de fichier

Résolu/Fermé
mdao032 - Modifié par mdao032 le 10/05/2016 à 23:15
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 mai 2016 à 17:00
Bonjour à tous
Je dois faire un programme qui affiche le nombre de bloc et le nombre d'inode d'un système de fichier. (au format .fs)

La commande stat permet de le faire mais cependant je dois le faire sous forme de programme en y incluant le lien du fichier.

Voici mon programme actuel (qui est pas bon) ;


#include <stdlib.h>
#include <stdio.h>
#include <time.h>


int main(int argc, char **argv)
{
FILE *fp;

char buffer[1024];
size_t bytes_read;

fp = fopen("/adresse_fichier/fichier.fs");
$ stat ~/-`echo $Inode `-fp ;
$ stat ~/-` echo $Blocs `-fp;

}

je m'y connais pas bcp en programmation.
Je vous remercie d'avance


1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 mai 2016 à 23:28
Bonjour,

Tu as la fonction (Posix) stat() qui existe.
http://manpagesfr.free.fr/man/man2/stat.2.html
Il te suffira d'afficher le champ st_ino et st_blocks de la structure renvoyée par la fonction.

Cdlt,
0
Bonjour fiddy,
Je tiens à te remercier sincèrement pour ton aide, elle m'a été d'une grande utilisé.
0
Bonjour fiddy,
stp
est -il possible de trouver le nombre d'inodes utilisés ainsi qu'afficher les noms de chacun des fichiers correspondant à ces inodes ? (la commande "df" me donne le pourcent% d'inodes utilisés mais je souhaite l’implémenter sous forme de fonction afin qu'il retourne le nombre exact (si possible)).

J'espère que ma question n'en est pas une de trop.
Bonne journée :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mai 2016 à 15:35
Le nombre d'inodes utilisés ? Une simple boucle for pour dénombre le nombre de fichiers et de répertoires fait l'affaire, non ?
0
bonjour fiddy,
Du coup,si je comprend bien le nombre d'inodes utilisés, correspond en fait à la somme des répertoires et fichiers ?
Donc quand, le répertoire est plein et ne peut plus prendre encore plus de fichiers, cela signifierait du coup que les inodes ont atteint leur pourcentage maximal ?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
12 mai 2016 à 16:11
Je ne suis pas expert en GNU/Linux, mais il me semble bien que oui.
Ainsi fonctionne la commande df. D'ailleurs, si tu as atteint la limite, ton système t'empêchera de créer un fichier supplémentaire, quand bien même il resterait de la place disponible sur le disque.
0