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   functions:   creat(),   mknod(),   pipe(),

utime(2), and read(2).

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

说明: st_mtime

Time when data was last modified. Changed by the  fol-

lowing  functions:  creat(), mknod(), pipe(), utime(),

and write(2).

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

说明: st_ctime

Time when file status was last changed. Changed by the

following   functions:   chmod(),   chown(),  creat(),

link(2),  mknod(),  pipe(),  unlink(2),  utime(),  and

write().

很多人把它理解成create time,包括很多误导人的书籍也是这么写。实际上ctime是指change time。

注意:

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

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

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

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

4、如果使用ext3文件系统的时候,在mount的时候使用了noatime参数则不会更新atime的信息,即访问文件之后atime不会被修改,而这个不代表真实情况

小知识:这三个 time stamp 都放在 inode 中。若mtime,atime修改, inode 就一定会改,相应的inode改了,那ctime 也就跟着要改了,之所以在mount option中使用 noatime, 就是不想 file system 做太多的修改, 从而改善读取性能.

查看文件的 atime、ctime 和 mtime。

# ls -lc filename         列出文件的 ctime

# ls -lu filename         列出文件的 atime

# ls -l  filename          列出文件的 mtime

例子

1: # echo "Hello World" >> myfile
    atime不变,同时改变了ctime和mtime

2: # cat myfile             ctime和mtime不变,只改变atime

# ls myfile
                    ctime和mtime以及atime都不改变

3: # chmod u+x myfile             mtime和atime不变,只改变ctime

4: # mv myfile ../
                    mtime和atime不变,只改变ctime

其他扩展:

relatime属性

从kernel2.6.29开始,默认集成了一个 relatime的属性。使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。

使用场景:

在文件读操作很频繁的系统中,atime更新所带来的开销很大,所以在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,这个时候relatime特性就派上用场了。其实在事实上,这个时候atime和mtime已经是同一个time,所以可以理解这个选项就是为了实现对atime的兼容才推出的,并不是一个新的时间属性。

使用方法: # mount -o relatime /dir
##挂载目录的时候加relatime参数

时间: 2024-10-10 23:34:57

Linux 文件时间详解 ctime mtime atime的相关文章

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

Linux系统文件中三个主要的时间属性: atime(access time)   mtime(modify time)   ctime(change time) 这三个时间很容易混淆,须加以区分 atime(access time):在读取文件或者执行文件时更改,即文件最后一次被读取或执行的时间. mtime(modify time):在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间. ctime(change time):在写入文件.更改所有者.权限或链接设置时随 Ino

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文件类型详解

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

Linux文件查找详解

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

LINUX 文件权限详解

ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 ceshi ceshi 4096 Aug 12 17:51 www.aa.com 开始 10个字符确定不同用户对文件的操作权限 第一个字符代表文件(-).目录(d).连接(l) 其余的字符每三个一组(rwx),读(r).写(w).执行(x) 第一组rwx:文件所有者的权限是读.写和执行 第二组rw-:与文件