【Linux】stat命令查看文件的三个时间参数
2016-12-26 14:55
856 查看
在Windows中创建一个文件都会有相应的创建时间,修改时间,访问时间来记录文件的一些属性。在Linux中也不例外,文件也有三个时间来记录文件的变动,这三个时间分别是Modification time (修改时间)、Change time(状态改动时间)、Access time(访问时间)。下面我们就来了解一下这几个时间。
(1)初识三个文件时间
Modification time (mtime):当该文件的『内容数据』变更时,就会更新这个时间! 『内容数据』指的是文件中记录的内容,而不包括文件属性和权限等!
Change time (ctime):当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说, 像是文件权限、属性、inode号等被更改了,都会更新这个时间。
Access time (atime):当我们访问该文件时,就会更新这个时间为最后一次访问该文件的时间 。 当我们使用 cat 、more、less等命令读取文件信息的时候,就会更新 atime 了。
(2)查看时间
我们可以使用 stat 这个命令来查看文件的三个时间:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/22e95b4d6f40ce3005a61b7f3f51e49d)
这个时候我们只创建了文件,因此atime,mtime,ctime是相同的,都记录的是文件的创建时间。
也可以用 ll 或ls -l --time=atime或着ls -l --time=ctime来单独查看这三个时间,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/db4412c10dc6afe121f2e5dee3c52d0f)
(3)三个时间的变动情况
echo命令可以在不改变atime的情况下向文件中写入内容
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/7969695c2f82991c244b6794ce033815)
cat命令查看文件内容只改变atime
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/d5a0feceaa8ce6f723438c06b045f18e)
chmod命令改变文件的访问权限只改变ctime
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/0f5b8dff40e5f6a037f1682176d33a47)
(4)touch命令与三个时间的关系
1、 touch的功能
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
2、touch的命令参数
2.1 -a参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/5e11b85b95e6c9fb11ce7e57b0d6defe)
touch -a 命令本来修改的是atime,但是ctime却也随之改变,为什么呢?这是因为touch命令不管进行什么操作都会改变文件的inode号,因此进行touch命令后,ctime一定会改变。(touch -m 命令也是同样的道理)
2.2 -c参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/337074f1fb556f1e3928ac2cefa28b75)
2.3 -d参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/3b6f0407f73fb533eb5f0f6d72fe8126)
修改时间atime和mtime为指定时间,而ctime则更改为最新时间。
2.4 -m参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/9437591d95eff3b45e3273c242898733)
touch -m命令本质只改变mtime,ctime改变与 -a 命令原因相同。
2.5 -r 参数
更新tmp.1的时间戳与tmp.2相同
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/659969fa41b50d2a94afe80c11783cee)
2.6 -t 参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/073f6359e379a9bb4bfbaef8aabe7af3)
值得说明的是:
这里touch -t 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:
[[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量指定的时区中的一个时间。由于系统的限制,早于1970年1月1日的时间是错误的。
在Windows中创建一个文件都会有相应的创建时间,修改时间,访问时间来记录文件的一些属性。在Linux中也不例外,文件也有三个时间来记录文件的变动,这三个时间分别是Modification time (修改时间)、Change time(状态改动时间)、Access time(访问时间)。下面我们就来了解一下这几个时间。
(1)初识三个文件时间
Modification time (mtime):当该文件的『内容数据』变更时,就会更新这个时间! 『内容数据』指的是文件中记录的内容,而不包括文件属性和权限等!
Change time (ctime):当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说, 像是文件权限、属性、inode号等被更改了,都会更新这个时间。
Access time (atime):当我们访问该文件时,就会更新这个时间为最后一次访问该文件的时间 。 当我们使用 cat 、more、less等命令读取文件信息的时候,就会更新 atime 了。
(2)查看时间
我们可以使用 stat 这个命令来查看文件的三个时间:
这个时候我们只创建了文件,因此atime,mtime,ctime是相同的,都记录的是文件的创建时间。
也可以用 ll 或ls -l --time=atime或着ls -l --time=ctime来单独查看这三个时间,如下:
(3)三个时间的变动情况
echo命令可以在不改变atime的情况下向文件中写入内容
cat命令查看文件内容只改变atime
chmod命令改变文件的访问权限只改变ctime
(4)touch命令与三个时间的关系
1、 touch的功能
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
2、touch的命令参数
-a 或--time=atime或--time=access或--time=use 只更改存取时间。 -c 或--no-create 不建立任何文档。 -d 使用指定的日期时间,而非现在的时间。 -m 或--time=mtime或--time=modify 只更改变动时间。 -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 -t 使用指定的日期时间,而非现在的时间。
2.1 -a参数
touch -a 命令本来修改的是atime,但是ctime却也随之改变,为什么呢?这是因为touch命令不管进行什么操作都会改变文件的inode号,因此进行touch命令后,ctime一定会改变。(touch -m 命令也是同样的道理)
2.2 -c参数
2.3 -d参数
修改时间atime和mtime为指定时间,而ctime则更改为最新时间。
2.4 -m参数
touch -m命令本质只改变mtime,ctime改变与 -a 命令原因相同。
2.5 -r 参数
更新tmp.1的时间戳与tmp.2相同
2.6 -t 参数
值得说明的是:
这里touch -t 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:
[[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量指定的时区中的一个时间。由于系统的限制,早于1970年1月1日的时间是错误的。
相关文章推荐
- 【Linux】stat命令查看文件的三个时间
- linux下的stat命令查看文件系统的时间
- Linux系统中用stat命令查看文件的三个时间属性
- Linux 命令 之 【stat】 查看文件状态。 (包括修改时间)
- Linux---stat查看文件的三个时间
- linux中用stat查看文件信息的三个时间的含义
- linux date命令参数及用法详解--linux查看修改系统时间
- linux中touch命令参数修改文件的时间戳(转载)
- linux中touch命令参数修改文件的时间戳(转)
- linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo
- wlinux touch命令参数及用法详解---linux修改文件的时间
- Linux中用stat命令查看文件时3个时间点解析
- Linux stat三个时间以及export命令用法
- linux 文件类型 时间戳 ls bash特性四 文件查看命令 cp move echo
- Linux下的 文件的三个时间参数
- linux date命令参数及用法详解--linux查看修改系统时间
- linux_常用命令_(ls, lsof,nslookup)_查看文件按照时间排序
- Linux中用stat命令查看文件时3个时间点解析
- linux 按文件大小排序和按时间排序查看文件命令
- linux stat 命令查看文件信息