2017-12-26 17 views
0

Ich brauche die Schaffung Datumzeit des Dateisystems auf einer Festplatte wissen (in einer Maschine Linux) mit C würde Ich mag mit Shell-Kommandos, wieErhalten Dateisystem Erstellungsdatum in C

tune2fs -l /dev/sdb2 | grep 'Filesystem created:' 

vermeiden und Mach einen Parser.

Dank

+0

Ich suche Erzeugen von Dateisystemen Datetime. Die Erstellungsdatumszeit einer Datei ist einfach zu bearbeiten. – Rockietto

+1

tune2fs unterstützt ext2/ext3/ext4, also wollen Sie wissen, ext Dateisystem Erstellungsdatumszeit? – xdebug

+0

Ja. Meine Festplatte ist ein ext4. – Rockietto

Antwort

1

einem Programm in C codiert (oder in einer beliebigen Sprache fähig C-Routinen aufzurufen) würden Sie die stat(2) Systemaufruf (oder, mit letzten Kernel und einigen Dateisysteme, die statx(2) um die Erstellungszeit einer bestimmten Datei (oder eines Verzeichnisses) abzufragen. Natürlich verwenden Befehle wie ls(1) oder stat(1) intern das stat(2) System Call.

Es gibt keine Standard-und Dateisystem-neutral, Weg, um die Erstellungszeit eines gegebenen file system zu erhalten. Diese Information wird nicht immer gespeichert. Ich denke, dass FAT Dateisysteme, oder distributed file systems wie NFS, halten Sie das nicht.

Sie könnten stat(2) auf dem Mount-Punkt dieses Dateisystems verwenden. Der Systemaufruf statfs(2) ruft einige Dateisysteminformationen ab, gibt jedoch keine Zeitstempel.

Für ext4-Dateisysteme siehe ext4(5) und proc(5) verwenden. Sie können /proc/mounts und einige /proc/fs/ext4/*/ Verzeichnis analysieren. Die Pseudofiles in /proc/ können parsed quickly sein und werden normalerweise keine physischen Datenträger IO beinhalten.

Sie könnten auch an der ext2/3/4 disk partition Ebene arbeiten, auf einem post Datei ext[234] System, mit einer Bibliothek wie (oder Programmen) e2fsprogs. Sie sollten nicht auf eine Festplattenpartition zugreifen (auch nur lesen), die ein Dateisystem enthält, wenn das Dateisystem angehängt ist.

(Ihre Frage sollte eine gewisse Motivation und Kontext geben)

+0

Vielen Dank für Ihre Antwort.Ich werde Ihre Proben überprüfen. – Rockietto

Verwandte Themen