Linux 文件时间详解 ctime mtime atime以及 find 命令

Linux系统文件中三个主要的时间属性:

atime(access time)   mtime(modify time)   ctime(change time)

这三个时间很容易混淆,须加以区分

atime(access time):在读取文件或者执行文件时更改,即文件最后一次被读取或执行的时间。

mtime(modify time):在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间。

ctime(change time):在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改,即文件状态(属性)最后一次被改变的时间。

注意:

1、修改(modify )是文本本身的内容发生了变化(mtime)

而改变(change )是文件的索引节点发生了改变(ctime)

2、如果修改了文件内容,则同时更新ctime和mtime

3、如果只改变了文件索引节点,比如修改权限,则只是改变了ctime

对于文件:

当修改mtime时,ctime必须随着改变.因为文件大小等都属性;

有人说说atime也一定会改变,要想修改文件必须先访问;其实是不对的,不必访问

文件也能修改其内容

如:#echo “This is a test !” >> test1

test1文件内容会变,但并没有访问文件,所以atime并没有改变.

对于目录:

访问一个目录:atime改变,mtime ,ctime不变;

修改一个目录:例如在一个目录下touch一个文件,mtime与ctime会改变,

atime不一定会变;

使用stat命令可以查看三个时间值:   如 stat filename

也可以:

ls -lc filename        列出文件的 ctime

ls -lu filename        列出文件的 atime

ls -l  filename         列出文件的 mtime

改变文件或目录时间命令touch

参数说明:

-a   :修改atime

-m :修改mtime

-c   :仅修改文件的时间(三个时间一起修改),若该文件不存在则不建立新的文件

-d  :后面可以接想修改的日期而不用目前的日期,也可以使用 –date="日期或时间"

-t   :后面可以接想修改是时间而不用目前的时间,格式为[YYMMDDhhmm]

find命令

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.命令功能:

用于在文件树种查找文件,并作出相应的处理

3.命令参数:

pathname:

find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print:

find命令将匹配的文件输出到标准输出。

-exec:

find命令对匹配的文件执行该参数所给出的shell命令。

相应命令的形式为‘command‘ {  } \;,注意{   }和\;之间的空格。

-ok:

和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

-name

按照文件名查找文件。

-perm

按照文件权限来查找文件。

-prune

使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user

按照文件属主来查找文件。

-group

按照文件所属的组来查找文件。

-mtime -n +n

按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

-nogroup

查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser

查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1 ! file2

查找更改时间比文件file1新但比文件file2旧的文件。

-type

查找某一类型的文件,诸如:
            b - 块设备文件。
            d - 目录。
            c - 字符设备文件。
            p - 管道文件。
            l - 符号链接文件。
            f - 普通文件。

-size n:[c]

查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:

查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:

在查找文件时不跨越文件系统mount点。

-follow:

如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:

对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n          查找系统中最后N分钟访问的文件
    -atime n        查找系统中最后n*24小时访问的文件
    -cmin n          查找系统中最后N分钟被改变文件状态的文件
    -ctime n        查找系统中最后n*24小时被改变文件状态的文件
    -mmin n       查找系统中最后N分钟被改变文件数据的文件
    -mtime n     查找系统中最后n*24小时被改变文件数据的文件

5.使用实例:

实例一:查找指定时间内修改过的文件

    命令:     find -atime -2

    说明:    查找48小时内修改过的文件



实例二:根据关键字查找

    命令:     find . -name "*.log"

    说明:    在当前目录查找 以.log结尾的文件。 ". "代表当前目录



实例三:按照目录或文件的权限来查找文件

    命令:     find /opt/soft/test/ -perm 777

    说明:    查找/opt/soft/test/目录下 权限为 777的文件



实例四:按类型查找

    命令:     find . -type f -name "*.log"

    说明:    查找当目录,以.log结尾的普通文件


实例五:查找当前所有目录并排序

    命令:     find . -type d | sort

    说明:    查找当前所有目录,并对其排序

实例六:按大小查找文件

    命令:     find . -size +1000c -print

    说明:    查找当前目录大于1K的文件


时间: 2025-01-02 11:02:39

Linux 文件时间详解 ctime mtime atime以及 find 命令的相关文章

Linux 文件时间详解 ctime mtime atime

Linux系统文件有三个主要的时间属性,分别是 ctime(change time), atime(access time), mtime(modify time).这三个时间很容易混淆,准备深入了解linux的童鞋请区分这三者的区别 atime:Access time, 是在读取文件或者执行文件时更改,即文件最后一次被读取的时间. 说明: st_atime Time when file data was last accessed. Changed by  the following   fu

Linux文件时间详解ctime、mtime、atime【转】

本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time), atime(access time), mtime(modify time).这三个时间很容易混淆,准备深入了解linux的童鞋请区分这三者的区别 atime:Access time, 是在读取文件或者执行文件时更改,即文件最后一次被读取的时间.说明: st_atime           T

Linux文件权限详解 文件和目录权限概述

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变

Linux文件权限详解

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一个文件也许只有读权限

Linux文件解压缩详解-转

linux zip命令 1.zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文

linux 文件删除详解

1.1 linux 文件的存储 linux在建立文件系统时会将磁盘逻辑上规划成各个块,inode块 与block块 每一个块都对应一个号码(inode号 block号),在本文件系统中唯一 ,每个inode 块缺省为256 byte  block块缺省为4K . [[email protected] ~]# dumpe2fs /dev/sda1|egrep  -i "block count|Inode count|block size|inode size" dumpe2fs 1.41

Linux文件查找详解

grep,egrep,fgrep:文本查找(文本文件中的内容) 文件查找: locate: 全系统查找的命令, 非实时, 模糊匹配 查找是根据全系统文件数据库进行的 #updatedb,手动生成文件数据库,因为新建的系统可能没有建立文件数据库 速度快  find:         实时查找         精确查找         支持众多查找标准         遍历指定目录中的所有文件完成查找,速度慢  用法:         find 查找路径 查找标准 查找到以后的处理运作       

Linux文件类型详解

一.Linux文件类型分:普通文件.目录文件.链接文件.设备文件.管道文件. 1.普通文件:由ls -al显示属性时,第一个属性为 [-],例如 [-rwxrwxrwx].包括: 1.纯文本文件(ASCII):是内容可以直接读到的数据,例如 数字.字母等等. 2.二进制文件(binary):图片.音频.视频文件. 3.数据格式文件(data):某些程序在运行过程中,会读取特定格式的文件,这些特定格式的文件可以称为数据文件(datafile). 2.目录文件(directory)(目录或文件夹),

CentOS \Linux文件权限详解

文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一