Was ist das Äquivalent von getfsstat () auf Linux?
-
20-09-2019 - |
Frage
Frage sagt alles. Ich möchte C-Funktionsaufruf, dass gibt die Liste der Dateisysteme zusammen mit den zugehörigen Informationen angebracht, wie Dateisystemtyp.
Lösung
Sie suchen getmntent
und andere *mntent
Funktionen Familie. Siehe manpage Für weitere Referenz.
Codebeispiel genommen von hier und leicht modifiziert. /etc/mtab
ist eine Datei, die eine Liste der eingehängte Dateisysteme enthält.
mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
if (strcmp(ent->mnt_type, "iso9660") == 0)
/* copy mount point to output */
strcpy(retval[cd_count - 1], ent->mnt_dir);
} /* if */
} /* while */
endmntent(mounts);
Leider sind diese Funktionen nicht in POSIX. Aber sie sind manpaged und in glibc umgesetzt, so dass ich denke, sie sind eine bessere Alternative als /proc
Parsen.
Andere Tipps
Sie können /proc/filesystems
analysieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow