Linux中用stat命令查看文件时3个时间点解析

2024-08-30 09:08

本文主要是介绍Linux中用stat命令查看文件时3个时间点解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源URL:http://www.linuxidc.com/Linux/2015-01/111705.htm


有些时候,我们需要在Linux中使用stat命令来查看文件的详细信息。另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下。

stat -- 获取比 ls 更多的信息  http://www.linuxidc.com/Linux/2014-10/108333.htm

首先,我们来看下stat情况

Linux中用stat命令查看文件时3个时间点解析

如图所示,会出现3个类型的时间,分别是Access,Modify,Change。下面我们就对这3个时间进行详细解释下。

access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间

modify time:表示我们最后一次修改文件的时间

change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等。

例如,我们使用cat命令来查看下此文件:

Linux中用stat命令查看文件时3个时间点解析

此时,文件的access 时间修改了。access时间我们可以理解为我们最后一次访问文件的时间。

我们再来看下change时间的情况:

Linux中用stat命令查看文件时3个时间点解析

此时,当我们修改文件的属性等时,change 的时间会随着改变,但modify时间是不变的,因为我们没有对文件内容进行修改。

下面我们接着看modify时间的情况:

Linux中用stat命令查看文件时3个时间点解析

此时我们可以看到,3个时间点都发生了改变。

由此,我们可以知道

1,当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变

2,当修改文件时,access,modify,change time 都会跟着改变

3,当修改文件属性时,change time 改变,而access,modify time 不变。

那么,我们使用的命令ls -l显示的又是什么时间呢?touch修改文件的时间戳的时候修改的是什么时间呢?

那我们来继续看下。

ls -l 显示的时间

Linux中用stat命令查看文件时3个时间点解析

此时,对比能够发现,ls -l显示的时间是文件的修改时间。

最后,touch修改的又是什么时间呢?

首先我们看下touch的man帮助即可帮我找到答案。

Linux中用stat命令查看文件时3个时间点解析

不信的话我们再试试看。(不过呢,如果不加参数的话,是所有的时间都会修改掉的。上图中的man touch中有个-a参数,只修改access时间。这个加参数的大家可以自己试下。)

我们直接touch b.txt吧,因为b.txt文件已经存在了,不会新建而是修改其时间戳。

Linux中用stat命令查看文件时3个时间点解析



这篇关于Linux中用stat命令查看文件时3个时间点解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120388

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

MySQL CTE (Common Table Expressions)示例全解析

《MySQLCTE(CommonTableExpressions)示例全解析》MySQL8.0引入CTE,支持递归查询,可创建临时命名结果集,提升复杂查询的可读性与维护性,适用于层次结构数据处... 目录基本语法CTE 主要特点非递归 CTE简单 CTE 示例多 CTE 示例递归 CTE基本递归 CTE 结

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分