我是靠谱客的博主 迷你水蜜桃,最近开发中收集的这篇文章主要介绍Linux修改文件时间或创建新文件:touch,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

每个文件在Linux下面都记录了许多的时间参数,其实是三个主要的变动时间

修改时间(modification time,mtime):当该文件的【内容数据】变更时,就会更新这个时间,内容数据是指文件的内容,而不是文件的属性或权限

状态时间(status time,stime):当该文件的【状态(status)】改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间

读取时间(access time,atime):当【该文件的内容被读取】时,就会更新这个读取时间(access),举例来说,我们使用cat去读取该文件时,就会更新该文件的atime

在默认情况下,ls显示的是该文件的mtime,也就是这个文件的内容上次被修改的时间

当文件时间发生错误时,会造成某些程序无法顺利运行。时间为什么会发生错误呢?举例来说,当我们选择的时区错误(有些地方的时区时间会比中国时间快),等我们将时间改回正确时间时,该文件的时间可能来自“未来”

touch 【-acdmt】 文件

选项与参数:

-a:仅自定义access time

-c:仅修改文件的时间,若该文件不存在也不建立新文件

-d:后面可以接自定义的时间而不用目前的时间,也可以使用--date=“日期或时间”

-m:仅修改mtime

-t:后面可以接自定义的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

使用touch命令,如果touch后接文件,则会将该文件的三个时间(atime/ctime/mtime)都更新为当前时间,如果后面没有接文件,则会主动创建一个空文件

ll命令为ls -l命令的别名,“;”代表连续命令的执行

因为上图中的bashrc文件是复制过来的,所以mtime与原文件相同,而文件为新文件是刚刚建立的所以它的ctime为现在的时间 ,但是cp文件会将原文件的内容读出后读入该文件,所以两个文件的atime都会发送变动,并且新文件的创建时间慢于读取时间

 变更时间:

我们可以看见atime与mtime都发生了改变,但是ctime没有变化,它是记录目前的时间

所以我们复制一个文件,复制所有属性,也没有办法复制ctime这个属性,ctime是记录这个文件最近的状态被改变的时间

我们平时看的文件属性中,比较重要的还是mtime,因为我们关心的常是这个文件的内容是什么时候修改的

touch常用场景:

  • 建立一个空文件
  • 将某个文件日期定义为目前(mtime与atime)

最后

以上就是迷你水蜜桃为你收集整理的Linux修改文件时间或创建新文件:touch的全部内容,希望文章能够帮你解决Linux修改文件时间或创建新文件:touch所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部