当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语“改变时间(change time)”和“修改时间(modification time)”。对于许多人(和许多字典而言),改变和修改是相同的。这里会有什么不同那?
改变和修改之间的区别在于是改某个组件的标签还是更改它的内容。如果有人说chmod a-w myfile,那么这是一个改变;如果有人说echo foo >> myfile,那么
这是一个修改。改变是文件的索引节点发生了改变;修改是文本本身的内容发生了变化。[文件的修改时间也叫时间标志 (timestamp).]
只要讨论改变时间和修改时间,就不可能不提到“访问时间(access time)”.访问时间是文件最后一次被读取的时间。因此阅读一个文件会更新它的访问时间,当它的改变时间并没有变化(有关文件的信息没有被改变),它的修改时间也同样如此(文件本身没有被改变)
有时,在许多地方改变时间或者“ctime”被错误地写成“创建时间”,包括某些UNIX参考手册。不要相信他们
下面是我man出来的内容,仅供参考!
st_atime
Time when file data was last accessed. Changed by the
following functions: creat(), mknod(), pipe(),
utime(2), and read(2).
st_mtime
Time when data was last modified. Changed by the fol-
lowing functions: creat(), mknod(), pipe(), utime(),
and write(2).
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().
ls显示出的time应该是mtime。
st_atime
Time when file data was last accessed. Changed by the
following functions: creat(), mknod(), pipe(),
utime(2), and read(2).
st_mtime
Time when data was last modified. Changed by the fol-
lowing functions: creat(), mknod(), pipe(), utime(),
and write(2).
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().
ls显示出的time应该是mtime。
touch后,文件的三个时间应该都会改变,可以试一试。
问题描述
文件的 ctime、mtime、atime 之间有什么区别?
配置信息
解决方法
文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。
因此,更改文件的内容即会更改 mtime 和 ctime,但是文件的 ctime 可能会在 mtime 未发生任何变化时更改 - 在权限更改,但是文件内容没有变化的情况下。
ls(1) 命令可用来列出文件的 atime、ctime 和 mtime。
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
atime不一定在访问文件之后被修改,因为:使用ext3文件系统的时候,如果在mount的时候使用了noatime参数那么就不会更新atime的 信息。而这是加了 noatime 取消了, 不代表真實情況.反正, 這三個 time stamp 都放在 inode 中.若 mtime, atime 修改, inode 就一定會改, 既然 inode 改了, 那 ctime 也就跟著要改了.之所以在 mount option 中使用 noatime, 就是不想 file system 做太多的修改, 而改善讀取效能.
相关推荐
本文将深入解析`find`命令中的三个时间参数:`-atime`, `-ctime`, 和 `-mtime`,以及如何结合这些参数来定位和管理文件。 ### 1. `-atime`(访问时间) `-atime` 参数用于查找在过去n天内被访问过的文件。这里的...
linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find命令下的三个时间参数atime,ctime,mtime. atime:access time,最近一次访问时间,当使用...
使用方法: 输入python ModifyAMCtime.py 文件名 可以把文件的时间进行修改。可以修改代码,完成atime、ctime、mtime的自定义修改
次 用法 #golang的文件时间 Go在大多数平台上都具有隐藏的... AccessTime ()) log . Println ( t . ModTime ()) if t . HasChangeTime () { log . Println ( t . ChangeTime ()) } if t . HasBirthTime () { log
Linux系统中有三种主要的文件时间戳:访问时间(Access Time)、修改时间(Modification Time)和状态改变时间(Status Change Time),分别对应`atime`、`mtime`和`ctime`。它们的含义如下: - **访问时间(atime...
Linux 文件系统中的每个文件都具有三种时间属性:状态改动时间(ctime)、修改时间(mtime)和访问时间(atime)。理解这些时间属性的变化是非常重要的,特别是在文件管理和备份中。 状态改动时间(ctime) 状态...
- `-atime`和`-ctime`: 根据文件最后访问和状态更改时间查找。 - `-newer file1 ! file2`: 查找更新于`file1`但未更新于`file2`的文件。 - `-type`: 按照文件类型查找,如`b`(块设备)、`d`(目录)、`c`(字符设备...
在查找指定时间内修改过的文件时,需要使用 `-atime`、`-ctime`、`-mtime` 等选项来限定时间范围。这些选项的作用如下: * `-atime n`:查找在 n 天之前访问过的文件。 * `-ctime n`:查找在 n 天之前状态修改过的...
printf("Last access time: %s", ctime(&file_info.st_atime)); printf("Last modification time: %s", ctime(&file_info.st_mtime)); printf("Last status change time: %s", ctime(&file_info.st_ctime)); ...
要修改这些时间戳,可以使用`utime()`函数,它允许设置mtime和atime,但大多数Linux系统不支持直接修改ctime,除非具有相应的权限。 **Python示例代码:** ```python import os # 获取文件时间戳 file_path = '...
Linux 中 find 命令的使用示例 find 命令是 Linux 中一个功能强大的命令,用于查找文件和目录。它可以根据文件的各种属性,如名称、权限、所有者、组、修改时间、访问时间、创建时间等来查找文件。 基本语法 find ...
系统时间戳包括 mtime、atime 和 ctime。其中,mtime 指文件内容的最后修改时间,atime 指文件的最后访问时间,而 ctime 指文件状态的最后变化时间。需要注意的是,ctime 并不仅仅是指文件内容的修改,它还包括文件...
`path`指定搜索的起始位置,`option`包含各种筛选条件,如`-name`指定文件名,`-type`指定文件类型(如`d`表示目录,`f`表示普通文件),`-mtime`、`-ctime`和`-atime`分别基于文件的修改时间、创建时间和最后访问...
当我们使用 `stat` 命令查看文件或目录信息时,可以看到 inode 号,以及诸如ctime、mtime和atime等时间戳。在 GlusterFS 中,这些信息用于跟踪文件的更新状态。ctime 表示文件或目录属性的最后更改时间,mtime 是...
atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001 mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001 dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001 BLOCKS: 594810 594811 594814 594815 594816 594817 ………………...
* `-atime`:指定要查找的文件访问时间。 * `-ctime`:指定要查找的文件创建时间。 * `-nogroup`:查找无有效属组的文件。 * `-nouser`:查找无有效属主的文件。 * `-newer`:查找更改时间比某个文件新但比另一个...
- `-mtime`, `-atime`, `-ctime`:根据文件修改、访问、状态改变时间查找。 - `-nogroup`, `-nouser`:查找无有效组或属主的文件。 - `-newer file1 ! file2`:查找比`file1`新且比`file2`旧的文件。 - `-type`:按...