• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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: -

    二、实践

    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

    总结

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

    上一篇:如何在ubuntu18.04中设置使用中文输入法的使用
    下一篇:VMware Workstation 15 Pro中安装ubuntu1804的教程(图文详解)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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