如何使用python获取ext4文件系统的crtime?

Python/PHP/Perl 开发与设计
回复
头像
vickycq
论坛版主
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
送出感谢: 100 次
接收感谢: 996 次
联系:

如何使用python获取ext4文件系统的crtime?

#1

帖子 vickycq » 2014-10-18 14:55

ext4文件系统中,crtime是文件inode最近一次改变的信息。目前只搜到一个获取它的办法:

例如获取.bashrc的crtime:

代码: 全选

$ ls -i .bashrc
记下输出的inode,比如9999。

代码: 全选

debugfs -R 'stat <9999>' /dev/sda?
输出如下:

代码: 全选

Inode: 9999 Type: regular Mode: 0644 Flags: 0x80000
Generation: 3777246081 Version: 0x00000000:00000001
User: 1000 Group: 1000 Size: 65666
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 136
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x4c179224:b06523cc -- Tue Jun 15 16:45:56 2010
atime: 0x4c17922d:472056f4 -- Tue Jun 15 16:46:05 2010
mtime: 0x4c17921f:720ab41c -- Tue Jun 15 16:45:51 2010
crtime: 0x4c17921f:303ce20c -- Tue Jun 15 16:45:51 2010
Size of extra inode fields: 28
EXTENTS:
(0-16): 22057124-22057140

问题是如何在python中获取crtime?google了一下没有啥信息。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
论坛版主
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
送出感谢: 100 次
接收感谢: 996 次
联系:

Re: 如何使用python获取ext4文件系统的crtime?

#2

帖子 vickycq » 2014-10-18 15:11

目前只能用subprocess模块执行上面的shell命令,抓stdout。 :em06
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
送出感谢: 9 次
接收感谢: 70 次
联系:

Re: 如何使用python获取ext4文件系统的crtime?

#3

帖子 zhw2101024 » 2014-10-19 11:12

如此底层的信息不一定有python模块的,毕竟不同的文件系统底层概念差别很大。
如果有这类模块的话估计也是每种文件系统一个模块,可以试试ext4的官网上能不能找到相关信息。
这些用户感谢了作者 zhw2101024 于这个帖子:
vickycq (2014-10-19 23:47)
评价: 3.7%
头像
vickycq
论坛版主
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
送出感谢: 100 次
接收感谢: 996 次
联系:

Re: 如何使用python获取ext4文件系统的crtime?

#4

帖子 vickycq » 2014-10-19 23:48

谢谢建议 :em06
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复

回到 “Python/Php/Perl”