Linux中如何查看文件的创建时间详解

 更新时间:2019年12月13日 08:35:06   作者:bugwz  
这篇文章主要给大家介绍了关于Linux中如何查看文件的创建时间的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

一、简介

Linux的文件能否找到文件的创建时间取决于文件系统类型,在ext4之前的早期文件系统中(ext、ext2、ext3),文件的元数据不会记录文件的创建时间,它只会记录访问时间、修改时间、更改时间(状态更改时间)。典型的文件的基础信息如下所示:

[root@bugwz ~]# stat test.file
 File: ‘test.file'
 Size: 2  Blocks: 8  IO Block: 4096 regular file
Device: 807h/2055d Inode: 5255117 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-12 19:11:33.175841399 +0800
Modify: 2019-12-12 19:11:37.564970487 +0800
Change: 2019-12-12 19:11:43.079132663 +0800
 Birth: -
  • Access:访问时间,文件数据的最后访问时间(例如:读文件内容);
  • Modify:修改时间,文件数据的最后修改时间。(例如:修改文件内容);
  • Change:状态更改时间,这个跟 Modify 时间很容易混淆,文件的属性(权限,大小等)的变更时间;

二、实践

2.1、获取文件的创建时间

获取文件inode号,如下所示,拿到inode号为:5255117;

[root@bugwz data]# stat /data/test.file
 File: ‘/data/test.file'
 Size: 2  Blocks: 8  IO Block: 4096 regular file
Device: 807h/2055d Inode: 5255117 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-12 19:11:33.175841399 +0800
Modify: 2019-12-12 19:11:37.564970487 +0800
Change: 2019-12-12 19:11:43.079132663 +0800
 Birth: -

查找文件所在的磁盘路径,如下所示,拿到磁盘路径为:/dev/sda7

[root@bugwz data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 3.9G 2.5G 1.2G 70% /
devtmpfs  16G 0 16G 0% /dev
tmpfs  16G 0 16G 0% /dev/shm
tmpfs  16G 1.7G 14G 11% /run
tmpfs  16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 12G 11G 787M 94% /usr
/dev/sda5 7.8G 4.2G 3.2G 57% /tmp
/dev/sda7 235G 180G 44G 81% /data
/dev/sda6 7.8G 2.1G 5.3G 29% /var

使用debugfs查看文件的创建时间,发现创建时间crtime为:Thu Dec 12 19:05:23 2019

[root@bugwz data1]# debugfs -R 'stat <5255117>' /dev/sda7
debugfs 1.42.9 (28-Dec-2013)
Inode: 5255117 Type: regular Mode: 0755 Flags: 0x80000
Generation: 758605841 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 2
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
 ctime: 0x5df2206f:12dddfdc -- Thu Dec 12 19:11:43 2019
 atime: 0x5df22065:29ec81dc -- Thu Dec 12 19:11:33 2019
 mtime: 0x5df22069:86b30fdc -- Thu Dec 12 19:11:37 2019
crtime: 0x5df21ef3:d586ca44 -- Thu Dec 12 19:05:23 2019
Size of extra inode fields: 28
EXTENTS:
(0):16949121

2.2、集成脚本:

#!/bin/sh
[ $# -ne 1 ] && 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 's@/@ @g'`)
array_length=${#array[@]}

for ((i=${array_length};i>=0;i--)); do
 unset array[$i]
 SUBPWD=`echo " "${array[@]} | sed 's@ @/@g'`
 DISK=`df -h |grep ${SUBPWD}$ |awk '{print $1}'`
 [[ -n $DISK ]] && break
done

# 文件系统非ext4则退出
[[ "`df -T | grep ${DISK} |awk '{print $2}'`" != "ext4" ]] && { echo ${DISK} is not mount on type ext4! Only ext4 file system support!;exit 2; }

debugfs -R "stat <${INODE}>" ${DISK}

参考地址:https://www.jb51.net/article/176316.htm

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • 在Linux上安装和使用Docker的方法

    在Linux上安装和使用Docker的方法

    这篇文章主要介绍了在Linux上安装和使用Docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解linux安装软件的几种方法

    详解linux安装软件的几种方法

    这篇文章主要介绍了linux安装软件的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Linux查找特定程序whereis实例详解

    Linux查找特定程序whereis实例详解

    在本篇文章里小编给大家整理的是关于Linux查找特定程序 whereis的详细用法实例,有需要的朋友们可以学习下。
    2019-11-11
  • ubuntu20.04连接wifi的方法(2种)

    ubuntu20.04连接wifi的方法(2种)

    这篇文章主要介绍了ubuntu20.04连接wifi的方法(2种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 在 Linux 中不使用 CD 命令进入目录/文件夹的方法

    在 Linux 中不使用 CD 命令进入目录/文件夹的方法

    众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。接下来通过本文给大家介绍了在 Linux 中不使用 CD 命令进入目录/文件夹的方法,需要的朋友可以参考下
    2019-04-04
  • 关于CentOs系统自带python和yum卸载后的解决办法

    关于CentOs系统自带python和yum卸载后的解决办法

    前几天因项目需要,在服务器上搭建python-mysql模块,结果没安装好,于是乎想卸载重装,遂在网上查询卸载python的方法,结果一不小心直接把系统的python删了个干净,怎么处理呢,看看小编给大家带来的本篇教程吧
    2018-11-11
  • Linux下指定源ip进行ping操作的方法

    Linux下指定源ip进行ping操作的方法

    今天小编就为大家分享一篇Linux下指定源ip进行ping操作的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Linux文件权限与群组修改命令详解

    Linux文件权限与群组修改命令详解

    这篇文章主要介绍了Linux文件权限与群组修改命令详解,在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(execute)权限,需要的朋友可以参考下
    2019-07-07
  • Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    这篇文章主要介绍了Ubuntu20的tzselect设置时间失效的问题,树莓派服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Vim中宏命令的使用实例详解

    Vim中宏命令的使用实例详解

    这篇文章主要给大家介绍了Vim中宏命令使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11

最新评论