桂哥网络与你分享了如何在Linux中检查文件的创建时间。相信大部分人都不太了解,分享这篇文章,供大家参考。希望你看完这篇文章后收获很大。我们一起来看看。
一、简介
Linux中的一个文件能否找到,取决于文件系统类型。在ext4 (ext,ext2,ext3)之前的早期文件系统中,文件的元数据不记录文件的创建时间,只记录访问时间、修改时间和更改时间(状态更改时间)。典型文件的基本信息如下:
[root @ bugwz ~]# statest . file
文件:'test.file '
大小:2块33608块:4096常规文件
设备:807h/2055 dinode :5255117链接33601
access :(0755/-rwxr-xr-x)Uid :(0/根)Gid :(0/根)
接入:2019-12-121933601113 . 3333333333
修改日期:2019-12-121933601133 . 3666666666
变革:2019-12-121933601113 33333 33333 3333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 3
生日:-访问:访问时间,文件数据的最后访问时间(例如读取文件内容);
修改:修改时间,文件数据的最后修改时间。(例如,修改文件内容);
变更:状态变更时间,容易和修改时间混淆,文件属性(权限、大小等)的变更时间。);
二、实践
2.1、获取文件的创建时间
获取文件的索引节点号,如下图,获取索引节点号:5255117;
[root @ bugwzdata]# stat/data/test . file
文件: '/数据/测试.文件'
大小:2块33608块:4096常规文件
设备:807h/2055 dinode :5255117链接33601
access :(0755/-rwxr-xr-x)Uid :(0/根)Gid :(0/根)
接入:2019-12-121933601113 . 3333333333
修改日期:2019-12-121933601133 . 3666666666
变革:2019-12-121933601113 33333 33333 3333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 3
出生:-找到文件所在的磁盘路径,如下所示,并获得磁盘路径为:/dev/sda7
[root@bugwzdata]#df-h
文件系统大小使用可用%安装时间
/dev/sda33.9G2.5G1.2G70%/
devtmpfs16G016G0%/dev
tmpfs16G016G0%/dev/shm
tmpfs 16g 1.7g 14g 11%/运行
tmpfs16G016G0%/sys/fs/cgroup
/dev/sda112G11G787M94%/usr
/dev/sda57.8G4.2G3.2G57%/tmp
/dev/sda 7235g 180g 44g 81%/数据
/dev/sda67.8G2.1G5.3G29%/var,使用debugfs检查文件的创建时间,发现创建时间crtime为19336005336023 2019年12月12日。
[root @ bugwzdata 1]# debugfs-R ' stat 5255117 '/dev/sda 7
首次公开募股1 . 42 . 9(2013年12月28日)
信息节点:5255117类型:常规模式:0755标志33600x80000
发电机:758605841版本33600000000033600000000001
用户:0组:0大小:2
文件目录:0目录:0
链接:1块计数:8
片段:地址:0号码:0大小:0
ctime :0 X5 df 2206 f :12 ddfdc-thudec 12193360113360432019
atime :0 X5 df 22065336029 EC 81 DC-thudec 12193360113360332019
mtime :0 x5d f 22069336086 b 30 FDC-thudec 12193360113360372019
crtime :0 X5 df 21ef :d 586 ca 44-thude 12193 . 336005336023 . 22019
Sizeofextrainodefields:28
EXTENTS:
(0):169491212.2、集成脚本:
#!/bin/sh
[$ #-ne1]echo ' usage : $ 0 { FILENAME } ' exit 1
INODE=`ls-i$1|awk'{print$1} ' '
FILENAME=$1
#如果传入参数采用/,则获取此传入参数的目录路径并输入目录
` echo $ FILENAME | grep/1/dev/null ` { FPWD=$ { FILENAME %/* };FPWD=$ { fpwd :=/};CD $ { FPWD };FPWD=` pwd `;}||FPWD=`pwd `
array=(`echo${FPWD}|sed的@/@@g ' `)
array_length=${#array[@]}
for((I=$ { array _ length };I=0;I-));做
不延迟[$i]
subwd=` echo ' ' $ { array[@]} | sed的@@/@g ' '
DISK=` df-h | grep $ { SUBBwd } $ | awk ' { print $ 1 } ' '
[[-n$DISK]]break
行
#如果文件系统不是ext4,则退出
[' ` df-T | grep $ { DISK } | awk ' { print $ 2 } ' ` '!=' ext 4 ']]{ echo $ { DISK } is not mount type ext 4!Onlyext4filesystemsupport!exit2}
Debugfs-R'stat${INODE}'${DISK}以上是“如何检查Linux中文件的创建时间”一文的全部内容。谢谢大家看!相信大家都有一定的了解,希望分享的内容对大家有所帮助。如果你想学习更多的知识,请关注桂哥网络!
TikTok千粉号购买平台:https://tiktokusername.com/
TOP