zoukankan      html  css  js  c++  java
  • Linux 下文件

     Linux下文件的三个时间(Atime,Mtime,Ctime)

    [root@node ~]# stat install.log
      File: `install.log'
      Size: 58137         Blocks: 128        IO Block: 4096   regular file
    Device: fd00h/64768d    Inode: 524291      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2017-11-22 16:13:59.597460379 +0800
    Modify: 2014-10-20 05:03:26.266999759 +0800
    Change: 2014-10-20 05:03:37.875999758 +0800

    可以从上图看到系统为我们保存了这个的三个时间,分别是Access time、Modify time、Change time,也就是访问时间、修改时间和状态时间。

    那么与前面所说的windows下做一个对比:

    在windows下,一个文件有:创建时间、修改时间、访问时间。
    而在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态时间

    解释:
    >修改时间:文件的内容被最后一次修改的时间,我们经常用的ls -l命令显示出来的文件时间就是这个时间,当用vim对文件进行编辑之后保存,它的mtime就会相应的改变; >访问时间:对文件进行一次读操作,它的访问时间就会改变。例如像:cat、more等操作,但是像之前的state还有ls命令对atime是不会有影响的; >状态时间:当文件的状态被改变的时候,状态时间就会随之改变,例如当使用chmod、chown等改变文件属性的操作是会改变文件的ctime的。

    find命令查询文件

    列出当前目录下包含sysctl.conf的文件名称

    [root@node ~]# find . -name “sysctl.conf” -exec ls -al {} ; -rw-r--r-- 1 root root 1234 Jul 15 2016 /etc/sysctl.conf

    列出修改日期三天外文件并删除修改日期7天外的文件
    [root@node ~]find -name "*" -type f -mtime +3 -exec ls -al {} ;
    [root@node ~]find -name "*" -type f -mtime +7 -exec rm -rf {} ;

    “-exec”表示每找到一个文件,则执行“-exec”和“;”之间的命令。“;”是格式分隔符,和前面的命令之间有一个空格

    命令“rm {}”表示删除{}变量代表的文件,变量{}保存着当前匹配的文件名。

    -mtime解释:

    -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
    这里-mtime +1 为什么是48小时以外,而不是24小时以外呢,因为n只能是整数,比1大的下一个整数是2,所以是48小时以外的

    下面来看 -mtime 1的输出结果:
    [root@node ~]$ find ./* -name "*.arc" -mtime 1 -exec ls -l {} ;  
    说明:

    -mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件


    [root@node ~]$ find ./* -name "*.arc" -mtime 0 -exec ls -l {} ; 
    说明:
    -mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件

    [root@node ~]$ find ./* -name "*.arc" -mtime -1 -exec ls -l {} ; 
    解释:
    -mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

    date

    获取当前日期

    [root@node ~]# export DATE=`date +"%Y%m%d%H"`
    [root@node ~]# echo $DATE
    2014071309

  • 相关阅读:
    tar解压时如何去掉第一级目录并解压到指定目录?
    ubuntu下容器无法启动报错"failed to start daemon: failed to dial "/run/containerd/containerd.sock": unknown service containerd.services.namespaces.v1.Namespaces: not implemented"如何处理?
    redis用法介绍
    Map.putAll()用法
    Random,ThreadLocalRandom,SecureRandom的几点思考
    SOAPUI---使用断言
    AutoUpdater迁移到Github
    VirtualBox: linux 没有权限访问共享文件夹的问题
    MakeFIle: 解决“/bin/bash^M: bad interpreter: No such file or directory”的问题
    ubuntu 备忘录
  • 原文地址:https://www.cnblogs.com/dahaoran/p/9303087.html
Copyright © 2011-2022 走看看