获取C中的文件系统创建日期

获取C中的文件系统创建日期,c,linux,filesystems,partition,ext4,C,Linux,Filesystems,Partition,Ext4,我需要知道使用C在磁盘上(在Linux机器上)创建文件系统的日期时间 tune2fs -l /dev/sdb2 | grep 'Filesystem created:' 并制作一个解析器 感谢使用C(或任何能够调用C例程的语言)编写的程序,您可以使用系统调用(或者,对于最近的内核和一些文件系统,使用一个)来查询给定文件(或目录)的创建时间。当然,像or这样的命令在内部使用该系统calll 没有标准的、与文件系统无关的方法来获取给定文件的创建时间。这些信息并不总是被保存。我猜文件系统,或者类似

我需要知道使用C在磁盘上(在Linux机器上)创建文件系统的日期时间

tune2fs -l /dev/sdb2 | grep 'Filesystem created:' 
并制作一个解析器

感谢使用C(或任何能够调用C例程的语言)编写的程序,您可以使用系统调用(或者,对于最近的内核和一些文件系统,使用一个)来查询给定文件(或目录)的创建时间。当然,像or这样的命令在内部使用该系统calll

没有标准的、与文件系统无关的方法来获取给定文件的创建时间。这些信息并不总是被保存。我猜文件系统,或者类似的系统,并没有保留这一点

您可以在该文件系统的装载点上使用

系统调用检索一些文件系统信息,但不提供任何时间戳

有关ext4文件系统,请参阅和使用。您可以解析
/proc/mounts
和一些
/proc/fs/ext4/*/
目录。
/proc/
中的伪文件可以而且通常不会涉及物理磁盘IO

您还可以在ext2/3/4级别,在未安装的文件
ext[234]
系统上,使用类似于库的程序(或来自的程序)。如果某个文件系统已装入,则不应访问(甚至只是读取)包含该文件系统的磁盘分区

(你的问题应该给你一些动机和背景)

从一个用C(或任何能够调用C例程的语言)编写的程序中,你可以使用系统调用(或者,对于最近的内核和一些文件系统,使用一个)来查询给定文件(或目录)的创建时间。当然,像or这样的命令在内部使用该系统calll

没有标准的、与文件系统无关的方法来获取给定文件的创建时间。这些信息并不总是被保存。我猜文件系统,或者类似的系统,并没有保留这一点

您可以在该文件系统的装载点上使用

系统调用检索一些文件系统信息,但不提供任何时间戳

有关ext4文件系统,请参阅和使用。您可以解析
/proc/mounts
和一些
/proc/fs/ext4/*/
目录。
/proc/
中的伪文件可以而且通常不会涉及物理磁盘IO

您还可以在ext2/3/4级别,在未安装的文件
ext[234]
系统上,使用类似于库的程序(或来自的程序)。如果某个文件系统已装入,则不应访问(甚至只是读取)包含该文件系统的磁盘分区


(您的问题应该会提供一些动机和背景)

我正在搜索文件系统创建日期时间。文件的创建日期时间很容易编辑。tune2fs支持ext2/ext3/ext4,因此您想知道ext文件系统创建日期时间吗?是的。我的硬盘是ext4。在大多数Unix文件系统上,你不能;只有{ctime,mtime,atime},ctime不是创建的时间,而是inode属性(如rwx)更改的时间。您能澄清您的问题吗?您想知道超级块的布局,以便提取
s_mkfs_time
成员吗?您需要一些示例GPL源代码吗?一些示例非GPL源代码?tune2fs的作用是搜索文件系统创建日期时间。文件的创建日期时间很容易编辑。tune2fs支持ext2/ext3/ext4,因此您想知道ext文件系统创建日期时间吗?是的。我的硬盘是ext4。在大多数Unix文件系统上,你不能;只有{ctime,mtime,atime},ctime不是创建的时间,而是inode属性(如rwx)更改的时间。您能澄清您的问题吗?您想知道超级块的布局,以便提取
s_mkfs_time
成员吗?您需要一些示例GPL源代码吗?一些示例非GPL源代码?tune2fs中你想要的部分就是谢谢你的回复。我会检查你的样品。谢谢你的回复。我会检查你的样品。