1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux修改文件时间或创建新文件:touch

Linux修改文件时间或创建新文件:touch

时间:2022-07-30 12:05:50

相关推荐

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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。