Linux unterstützt viele Dateisysteme (z. B. ext3, NTFS, FAT32 usw.).
Das folgende Diagramm zeigt, wie Linux einem Prozess den Zugriff auf Dateien ermöglicht:
Angenommen, ein Prozess, der den read()
Systemaufruf zum Lesen einer Datei aufgerufen hat , führt dazu, dass auf die VFS-Ebene zugegriffen wird und die VFS-Ebene auf der Grundlage des Dateisystems der Partition, auf die die Datei zugreift, entscheidet, auf welchen Dateisystemtreiber zugegriffen wird gelesen werden residiert auf.
Linux bietet viele Systemaufrufe Zugriff auf Dateien (zum Beispiel: read()
, write()
, rename()
, etc.).
Jetzt read()
und write()
und rename()
arbeiten Sie an allen von Linux unterstützten Dateisystemen.
Es gibt jedoch bestimmte Funktionen, die nur auf einigen Dateisystemen vorhanden sind, auf anderen jedoch nicht. Beispiel: In einem NTFS-Dateisystem können Sie das Archivbit für eine Datei festlegen , während dies in einem ext3-Dateisystem nicht möglich ist.
Meine Frage ist nun: Hat Linux Systemaufrufe, um auf alle Funktionen der unterstützten Dateisysteme zuzugreifen? Beispiel: Verfügt Linux über einen Systemaufruf zum Setzen des Archiv- Bits für eine Datei in einem NTFS-Dateisystem?
quelle
statx
wird es jetzt in der C-Bibliothek und in der neuesten Version von coreutils unterstützt, die vor einigen Tagen veröffentlicht wurde.