Linux文件的三种时间属性
一、Linux文件时间属性的分类
我们在用windows系统时,在查看磁盘文件时,经常会看到文件或目录的后面有一个时间信息,这个是文件在磁盘上别创建的时间。其实,在windows系统中,文件还有文件的修改时间、访问时间两个时间属性。
在linux系统中,文件同样有时间属性,不过Linux文件的时间属性与windows略有不同,它的时间属性分为;
1、访问时间(atime->access time):读一次这个文件的内容,这个时间就会更新。比如对这个文件运用 more、cat等命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间(mtime->modifiy time):修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改动时间(ctime->change time):ctime是在写入文件、更改所有者、权限或链接设置时随i节点的内容更改而更改的,是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
在Linux中,文件的时间属性通过一个struct来表示。如下:
1 struct stat2 {3 dev_t st_dev; /* device inode resides on */4 ino_t st_ino; /* inode's number */5 mode_t st_mode; /* inode's mode */6 nlink_t st_nlink; /* number of hard links to the file */7 uid_t st_uid; /* user ID of owner */8 gid_t st_gid; /* group ID of owner */9 dev_t st_rdev; /* device type, for special file inode */10 struct timespec st_atimespec; /* time of last access */11 struct timespec st_mtimespec; /* time of last data modification */12 struct timespec st_ctimespec; /* time of last file status change */13 off_t st_size; /* file size, in bytes */14 int64_t st_blocks; /* blocks allocated for file */15 u_int32_t st_blksize;/* optimal file sys I/O ops blocksize */16 u_int32_t st_flags; /* user defined flags for file */17 u_int32_t st_gen; /* file generation number */18 };
二、Linux文件属性的查看方法
1、ls命令簇
1)ls -lc filename 列出文件的 ctime (最后状态更改时间)
2)ls -lu filename 列出文件的 atime(最后访问时间)
3)ls -l filename 列出文件的 mtime (最后修改时间)
注:以下每幅图片修改前的时间为上一幅图的中时间。
例如:
因为文件刚刚别创建,没有进行任何的改动,所以这儿看到的ctime、atime、mtime是相同的。
当我用vim向file文件里写入了一些东西后,ctime、atime、mtime全都发生了改变,因为要向file文件里写入东西,那么必须要访问文件file,所以atime会改变,因为改变了文件file的内容,所以ctime、mtime会改变。
当我用chmod改变文件file的权限后,因为修改了文件权限,所以ctime肯定会改变,而修改文件权限肯定需要访问文件,所以atime被改变,但文件的内容没有被修改,那么文件的mtime不会改变。
2、stat命令
stat命令可以一次性更精确的看到文件的三种时间属性。
三、总结
操作对三种时间属性的影响:
1、cat、less等只访问文件,不修改文件的操作,只会修改atime的值。
2、chmod、chown等修改文件权限、所有者等的操作,会修改atime和ctime的值。
3、vim、emacs等修改文件内容的操作,会修改atime、ctime、mtime的值。
Linux文件的三种时间属性相关推荐
- linux文件的三种时间,修改时间、状态时间和读取时间
修改时间:modification time,mtime 当该文件[数据内容]变更时,就会更新这个时间,内容数据指的是文件内容,而不是文件的属性或权限.例如当vim编辑文件内容.echo " ...
- linux文件的三个时间atime,mtime,ctime以及查找和修改方法
atime是指access time,访问时间,即文件被读取或者执行的时间: mtime即modify time,指文件内容被修改的时间: ctime即change time文件状态改变时间. 操作 ...
- 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化
第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件 ...
- Linux系统中用stat命令查看文件的三个时间属性
在Linux中,没有文件创建时间的概念.只有文件的访问时间.修改时间.状态改变时间.也就是说无法知道文件的创建时间. [root@rhel7 yum.repos.d]# stat cdrom.repo ...
- linux 已打开的文件夹里,打开linux文件的三种方法
怎么打开linux文件,方法如下: 方法一(利用Vim文本编辑器): 1.打开终端.点击菜单,然后找到终端程序.程序的图标是一个黑色的方框,上面有一个白色的">_".点击它. ...
- linux文件三种时间及stat的用法
转自:http://blog.csdn.net/signjing/article/details/7723516 在windows下,一个文件有三种时间属性: 创建时间.修改时间.访问时间. 而在Li ...
- 查看linux 文件创建时间,在Linux下查看文件三种时间
原标题:在Linux下查看文件三种时间 在Linux下,文件包含三种时间属性,分别为: atime(access time):最近访问文件内容时间(Last Access Time). mtime(m ...
- linux文件名 -%3e,linux下的三种解压文件的命令?
那要看你的压缩文件使用哪种压缩方式: gzip,压缩文件名:zip或gz,解压命令:unzip bzip2,压缩文件名:bz,解压命令:bzip2 -d 上面两个是最常用的压缩方式,一般在linux下 ...
- Linux下文件的三种时间戳
Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...
最新文章
- 杂题 NOIP2016蚯蚓
- linux shell写的文件断网没保存
- Socket编程(C语言实现)—— 为什么流式传输类似于管道?不区分边界?
- er图用什么软件_从软件开发生命周期看商业智能 BI 数据仓库建模
- MongoDB在Windows系统下的安装和启动
- 信息学奥赛C++语言:派送蛋糕
- 建立、遍历二叉树(二叉链表)
- python3.14_leetcode-python3-14. 最长公共前缀
- cass光标大小怎么调_cass7period;0鼠标不显示怎么解决quest;
- java中数组的返回值是什么类型_面试必问:Java中String类型为什么设计成不可变的?...
- Python(42)_文件操作
- QTTabBar v1039
- 自动控制原理学习笔记(五)
- oracle+tm+下载,腾讯TM2014官方下载|腾讯TM2013官方最新版 2013.7277 - 系统天堂
- 中标麒麟Neokylin7桌面版安装指南——基于VirtualBox虚拟机
- 服务器开机显示检查电缆,电脑开机显示无VGA电缆是怎么回事,求答!
- Android中的Action和Category常量表
- 实现回到顶部功能的三种方法
- 运放指标-压摆率SR
- 5款常用的html5游戏引擎以及优缺点分析
热门文章
- Kube Controller Manager 源码分析
- GDPR到底是如何影响机器学习的?
- 云栖大会展出两款一体机,搭载新一代无影融合架构
- 深度剖析:Redis 分布式锁到底安全吗?看完这篇文章彻底懂了!
- 数据之光 · 安全未来 | 第四届中国数据安全治理高峰论坛圆满召开!
- 老码农90%的程序员都是瞎努力!这份路线教你成为高手
- 亲历!不要痴迷蓝牙耳机了,出门选这个准没错,99W+人的选择
- 创纪录!浪潮云海完成OpenStack Rocky版本全球最大规模单一集群测试!
- Gartner的预言:通向混合IT之旅
- 多亏它,让大家做好“山竹”来袭的准备【Make It Real故事汇】