linux-文件时间详解

2023-10-27

不同的文件系统,不同的操作系统对于文件时间的设置是不同的,一般分为创建时间(birth)、修改时间(ctime)、访问时间(atime),一般默认情况下显示的是修改时间(ctime),即默认以修改时间(ctime)当作排序时间 ,即一般情况
ls -lrt 显示的是修改时间,可以通过指定–time参数来指定是那种时间,示例如下:

创建时间(birth)

ls -lrt  --time=birth
ls -lrt  --time=creation

修改时间(ctime)

ls -lrt --time=ctime

访问时间(atime)

ls -lrt --time=atime

一、文件的创建时间

1. centos

centos操作系统,一般不会记录文件的创建时间

2. kylin

在kylin操作系统中,文件系统nfs,是有创建时间的,一般命令如下

ls -lrt --time=birth
ls -lrt --time=creation

创建时间、访问时间、修改时间如下所示:

[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=birth  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:04 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

二、重定向只会改变文件的修改时间,创建时间和读取时间不会改变,对于覆盖和追加是一样的

[kyzjj@yyzc-zjjcs01 ~]$ cat <<EOF >test.log
> hello world
> EOF
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:21 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$

[kyzjj@yyzc-zjjcs01 ~]$ cat <<EOF >>test.log
hello world
EOF
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

三、cat命令只会修改atime(访问)时间

[kyzjj@yyzc-zjjcs01 ~]$ cat test.log
hello world
hello world
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$

四、当文件的权限,属组等属性更改后,修改时间会更新,其他时间不更新

五、more less tail 不会更改任何时间

[kyzjj@yyzc-zjjcs01 ~]$ more test.log
hello world
hello world
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ less test.log
[kyzjj@yyzc-zjjcs01 ~]$ less test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ tail -200f test.log
hello world
hello world
^C
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

六、vi命令会更改所有时间

[kyzjj@yyzc-zjjcs01 ~]$ vi test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=ctime test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=creation test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=atime test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$

注意:当文件的内容被修改的时候,一般上述三个时间都会被修改成最新的更改时间

七、其他注意点

stat 文件名 也可以查看文件的详细信息
stat -f /zhjl 展示文件系统的详细信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux-文件时间详解 的相关文章

  • 使用Sed查找并替换json字段

    我有一组 json 文件 其中在最后一个键值对之后有需要替换的逗号 RepetitionTime 0 72 TaskName WM Manufacturer Siemens ManufacturerModelName Skyra Magne
  • 如何复制每个扩展名为 X 的文件,同时保留原始文件夹结构? (类Unix系统)

    我正在尝试将每个 HTML 文件从 src 文件夹复制到 dist 文件夹 但是 我想保留原始文件夹结构 如果 dist 文件夹不存在 我想创建一个新文件夹 如果文件夹不存在则创建 d dist mkdir dist 复制每个文件 cp R
  • 找不到 NGINX brew 安装命令

    I do brew install nginx and get gt Downloading http nginx org download nginx 1 2 2 tar gz Already downloaded Library Cac
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 我应该使用哪个 Linux 发行版作为 Xen 主机? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我为家庭办公室订购了一台服务器 我想用 Xen 对其进行分区 我认为这将使事情保持干净并且更容易维护 我将运行 MySQL PostgreSQL
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo
  • `docker run` 输出到 bash 变量 - 奇怪的行为

    我看到一些奇怪的行为从docker run到 bash 变量中 简单的例子 bin bash PWD docker run rm ti ubuntu pwd 2 gt 1 also tried with PWD docker run wit
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0
  • 是否从页面缓存中的脏页面进行文件读取?

    当字节写入文件时 内核不会立即将这些字节写入磁盘 而是将这些字节存储在页缓存中的脏页中 回写缓存 问题是 如果在脏页刷新到磁盘之前发出文件读取 则将从缓存中的脏页提供字节 还是首先将脏页刷新到磁盘 然后进行磁盘读取以提供字节 将它们存储在进
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa
  • execlp 多个“程序”

    我想运行类似的东西 cat file tar base64 myprogram c base64 d tar zvt I use execlp运行该进程 当我尝试运行类似的东西时cat它有效 但如果我尝试运行base64 d tar zvt
  • 如何在 Linux 主机上的 docker 容器中挂载目录 [重复]

    这个问题在这里已经有答案了 我想将一个目录从 docker 容器挂载到本地文件系统 该目录是网站根目录 我需要能够使用任何编辑器在本地计算机上编辑它 我知道我可以跑docker run v local path container path
  • Bash 脚本:#!/bin/bash 是什么意思? [复制]

    这个问题在这里已经有答案了 在 bash 脚本中 什么是 bin bash第一行是什么意思 UPDATE 有区别吗 bin bash and bin sh 这就是所谓的shebang http en wikipedia org wiki S
  • 为 Linux 安装 R 包时出错

    我试图在 R 3 3 上安装一个名为 rgeos 的包 但是当我输入 install packages rgeos 但它返回给我以下错误 其他包也会发生同样的情况 但不是所有包 gt installing source package rg
  • 如何在 bash 中结合超时和 eval 命令

    为了执行存储在变量中的命令eval使用命令 gt a echo e a nb wc l gt eval a 2 但如何才能与它结合起来呢 timeout命令 我尝试过以下操作 这给了我错误的输出 gt timeout 10 a a b wc
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • gentoo crontab:为什么这个简单的 crontab 不起作用?

    我使用 GENTOO 发行版 crontab e 35 12 root php5 home www cron php 当我手动运行时 php5 php5 home www cron php 这有效 它向我发送了一封电子邮件 然后我检查日期

随机推荐

  • 【C++】类和对象(二)

    目录 一 类的6个默认成员函数 二 构造函数 2 1构造函数的概念 2 2构造函数的特性 三 析构函数 3 1析构函数的概念 3 2析构函数的特性 四 拷贝构造函数 4 1拷贝构造函数的概念 4 2拷贝构造函数的特性 五 赋值运算符重载 5
  • 国内外安全网站网址大集合

    国内安全 http security zz ha cn 起点安全 有相当不错的原创内容 国内安全 http www shopsky com flashsky的个人主页 国内安全 http www safechina net 有较多原创内容的
  • 基于SSH的婴幼儿产品销售系统的开发与设计毕业设计论文

    源码下载 http www byamd xyz hui zong 1 摘要 科学技术日新月异的进步 让人类生活发生了巨大的变化 计算机技术的飞速发展 使各行各业在计算机技术应用方面得到了广泛的普及和使用 信息化时代的到来成为不可抗拒的潮流
  • 相似矩阵与合同矩阵

    目录 相似矩阵 定义 性质 定理 推论 合同矩阵 定义 性质 推论 相似矩阵 定义 设 A B A B A B 都是 n
  • Mysql 中的锁

    一 锁的分类 粒度 表锁 行锁 间隙锁 方式 读锁 共享锁 写锁 排他锁 态度 悲观锁 乐观锁 悲观锁 读锁 写作都是悲观锁 乐观锁 乐观锁 需要外部程序实现 一 锁的粒度 表锁 行锁 间隙锁 二 锁的方式 读锁 T1表加了读锁 T1表将只
  • 通信工程毕业设计题目100例

    文章目录 1前言 2 如何选题 3 通信工程选题方向 3 1 移动通信方向 3 2 嵌入式开发方向 3 3 人工智能方向 3 4 物联网方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最
  • 【python数据挖掘课程】十五.Matplotlib调用imshow()函数绘制热图

    前面系列文章讲过数据挖掘的各种知识 最近在研究人类时空动力学分析和幂率定律 发现在人类兴趣转移模型中 可以通过热图 斑图 来进行描述的兴趣转移 如下图所示 下一篇文章将简单普及人类动力学相关知识研究 这篇文章结合Matplotlib的ims
  • Inversion of Java Interview - Java集合篇

    Inversion of Java Interview Java容器篇 好奇心是驱动人类进步的动力之一 一 Java容器概况 Java容器分为Collection和Map两大类 Collection集合的子接口有Set List Queue
  • php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件

    有时需要将Excel表格的数据导入到mysql数据库中 我们使用PHP的一个开源项目PHP ExcelReader可以轻松实现Excel的导入 1 导入XLS PHP ExcelReader这是一个开源的项目 主要是来解析excel的文件
  • iOS 开发者账号添加手机号码 Program License Agreement has been updated.edit phone number

    苹果开发者账号经常性的更新一些开发协议让开发者同意 苹果爸爸的要求 同意就好了 只有Agent权限账号会收到 团队成员账号权限区别请参考 最近苹果开发者账号又更新了协议 apple id没有绑定手机号的 在开发者账号里会要求你必须绑定手机号
  • 研究生阶段的研究方向以及一些想法

    好久没有更新了 综合考虑后 即将入学 KAUST 成为一名硕博连读的学生了 出于导师研究方向以及个人兴趣的一些原因 希望在接下来的五年 深耕一下 Generative Models Continual Learning Zero Shot
  • 接口测试工具-Postman-安装和使用

    目录 Postman介绍 1 安装Postman 2 Postman 使用 2 1 合集 collections 2 2 发起请求 2 3 Get请求 2 3 1 无参数的Get请求 2 3 2 带参数的Get请求 2 4 Post请求 2
  • Python薪资的高涨原因及相应代码分析

    Python语言自问世以来 一直以其简洁 易学和多功能而受到广泛关注和应用 在近年来 Python编程语言的普及和应用领域的不断扩大 使得Python开发人员的需求量大幅增加 与此同时 Python工资也呈现出快速上涨的趋势 本文将深入探讨
  • JDK1.8新特性详解

    介绍 Java是世界上使用最广泛的编程语言之一 近年来随着互联网技术的高速发展 对Java的要求也越来越高 JDK1 8是Java平台上的一个重要版本 引入了许多新特性和改进 本文将详细介绍JDK1 8中的新特性和应用场景 一 Lambda
  • 日期处理(moment.js)使用笔记

    之前没接触moment js 在新项目中见到了 做一做使用笔记也是分享一下 安装 引用 npm install moment 或者 yarn add moment import moment from moment 导入文件 Vue pro
  • Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持

    by 垃圾程序员 当前文章具有时效性 在当前springboot的版本下做的整合 之后大家视情况可以直接到Spring的官网查看 Spring HomeLevel up your Java code and explore what Spr
  • MAC下QT5 + Xcode 4.6.3 使用小结

    1 直接在命令行里使用qmake 大家的MAC上面QT5的安装路径不同 导致不能直接使用qmake命令行 xcode项目也不能拿来就用 有两种方法可以直接在命令行里面使用qmake 1 修改 bash profile 此方法在PATH中添加
  • [C#学习] BindingNavigator控件

    一 概述 BindingNavigator控件的用户界面 UI 由一系列 ToolStrip 按钮 文本框和静态文本元素组成 用于进行大多数常见的数据相关操作 如添加数据 删除数据和在数据中导航 每个控件都可以通过 BindingNavig
  • Windows安全中心 你的IT管理员已限制对此应用的区域的访问

    打开本地组策略 gt 计算机配置 gt Windows设置 gt 安全设置 gt 本地策略 gt 安全选项 gt 打开安全选项后 gt 滚轮转动往下拉 gt 找到 用户账户控制 选择以管理员模式批准运行所有管理员 打开属性 选择已启用 应用
  • linux-文件时间详解

    不同的文件系统 不同的操作系统对于文件时间的设置是不同的 一般分为创建时间 birth 修改时间 ctime 访问时间 atime 一般默认情况下显示的是修改时间 ctime 即默认以修改时间 ctime 当作排序时间 即一般情况 ls l