• mac os系统下 stat命令


    $  stat  filenam

    Stat的输出大致如下:
    Device ID
    Inode number
    Permissions (mode)
    Hard link count (usually 1)
    File userid (owner)
    File groupid
    Device ID
    Size in bytes
    Last access time
    Last (contents) modification time
    Last permissions change time
    Create time
    Ideal block size for file
    512-byte-size blocks allocated for file
    Flags set on file (see chflags(2))


    四个时间的定义如下:
     st_atime         Time when file data last accessed. 读取时间。
     st_mtime         Time when file data last modified.  内容修改时间
     st_ctime          Time when file status was last changed (inode data modification).  
                          Inode修改时间
     st_birthtime     Time of file creation. 创建时间 

    此四个时间也可以通过 ls 命令获得:
    ls -la : 获得atime
    ls -lu : 获得mtime
    ls -lc : 获得ctime
    ls -lU : 获得birthtime

    -F :  可以为不同类型文件,显示特殊标志。
         目录文件:                    /
         可执行文件:               *
         软链接文件:                @
           socket      :                 =
          FIFO(命名管道):    |
                                           管道读写数据的原理是先进先出(First In First Out) 所以叫做FIFO 

    -x : 用类似linux的形式显示信息,可读性好些。但只显示三个相关时间 

    好用的-f参数:


    stat -f  Format filename

     Formate以%开头,后跟参数。如果%后立即接n,t,%或@,则分别打印出换行、制表、百分号和当前文件号:

    %stat -f %@___%N *
    1___10_30.pl
    2___10_exercise.pl
    3___10_exercise_c.pl
    4___10_file.pl
    ...


    列几个有用参数(其它查man stat)

    -N         : The name of the file.
    -a,m,c,B:  The access, modify,ctime and creation time.  With S, convert the time to the more  readable sequence. 访问、修改、inode 以及创建时间。 使用S,切换成易读的年月日时分秒形式,否则,是1970以来的秒数字符串。 MaxOS里有创建时间,与linux不同。
                   E.g.: -f "%SA"


    $ stat -f "Name: %N%n%tAccess_time:%Sa%n%tModify_time:%Sm%n%tCtime:%Sc%n%tCreation_Time:%SB" Perl_Note.txt
    Name: Perl_Note.txt
        Access_time:Oct 23 10:20:53 2021
        Modify_time:Oct 23 10:20:52 2021
        Ctime:Oct 23 10:20:52 2021
        Creation_Time:Aug 15 11:47:51 2021

    Otherwise, the time would be a long sequence such as :Creation_Time:1565840871
    用 S可以将时间转化为易读的形式,否则,会使自epoch以来的秒数。


    此处,注意:
    stat -f %SB -t %Y file only prints the creation year.  只打印出年
    But stat -f %SB file prints the creation date and time. 年月是和时间都打印出来

    stat -f %SB -t %Y Perl_Note.txt
    2021


    获得最新修改的三个文件:

    stat -f "%m%t%Sm %N" * | sort -rn | head -3 | cut -f2-
    Oct 23 11:07:53 2021 Shell_Note
    Aug 12 11:35:50 2021 The_Usage_of_vi.rtf
    Feb 28 19:01:40 2021 ts_xml.sh


    ### stat -f "%m%t%Sm %N" /tmp/* | sort -rn | head -3 | cut -f2-

  • 相关阅读:
    008 Python、Anaconda、pip、Pycharm、Jupyter 的下载
    010 Python 重中之重的变量
    19 Transformer 解码器的两个为什么(为什么做掩码、为什么用编码器解码器注意力)
    15 Transformer 框架概述
    009 Pycharm的使用(各种骚操作和快捷键)
    17 Transformer 的解码器(Decoders)——我要生成一个又一个单词
    011 Python 的打印(花式变色打印)和注释(为什么加个#号就能注释)
    012 Python约定俗称的常量
    IfcPointOrVertexPoint
    java时间戳转为日期
  • 原文地址:https://www.cnblogs.com/pandaly/p/16284661.html
Copyright © 2020-2023  润新知