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

简介: 6.3.5 修改文件时间或创建新文件: touch

我们在 ls 这个指令的介绍时,有稍微提到每个文件在linux下面都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢?


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


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


access time (atime): 当“该文件的内容被取用”时,就会更新这个读取时间(access)。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的atime 了。


举例来说,我们来看一看你自己的 /etc/man_db.conf 这个文件的时间。

在默认的情况下,ls 显示出来的是该文件的 mtime ,也就是这个文件的内容上次被更动的时间。 至于鸟哥的系统是在 5 月 4 号的时候安装的,因此,这个文件被产生导致状态被更动的时间就回溯到那个时间点了(ctime)。 而还记得刚刚我们使用的范例当中,有使用到man_db.conf这个文件啊,所以啊,他的 atime 就会变成刚刚使用的时间了。


文件的时间是很重要的,因为,如果文件的时间误判的话,可能会造成某些程序无法顺利的运行。 那么万一我发现了一个文件来自未来,该如何让该文件的时间变成“现在”的时刻呢? 很简单,就用“touch”这个指令。


至于某些情况下,由于BIOS的设置错误,导致系统时间跑到未来时间,并且你又创建了某些文件。 等你将时间改回正确的时间时,该文件不就变成来自未来了。

在上面这个案例当中我们使用了“ll”这个指令(两个英文L的小写),这个指令其实就是“ls -l”的意思, ll本身不存在,是被“做出来”的一个命令别名。相关的命令别名我们会在bash章节当中详谈的,这里先知道ll="ls -l"即可。 至于分号“ ; ”则代表连续指令的下达。你可以在一行指令当中写入多重指令, 这些指令可以“依序”执行。由上面的指令我们会知道ll那一行有三个指令被下达在同一行中。


至于执行的结果当中,我们可以发现数据的内容与属性是被复制过来的,因此文件内容时间(mtime)与原本文件相同。 但是由于这个文件是刚刚被创建的,因此状态(ctime)就变成现在的时间。那如果你想要变更这个文件的时间呢?可以这样做:

通过 touch 这个指令,我们可以轻易的修订文件的日期与时间。并且也可以创建一个空的文件。不过,要注意的是,即使我们复制一个文件时,复制所有的属性,但也没有办法复制ctime 这个属性的。 ctime 可以记录这个文件最近的状态 (status) 被改变的时间。


touch这个指令最常被使用到的情况是:


创建一个空的文件;


将某个文件日期修订为目前(mtime与atime)

相关文章
|
7月前
|
Unix Linux
Touch命令使用指南:创建、更新和修改文件时间戳
Touch命令使用指南:创建、更新和修改文件时间戳
462 0
|
3月前
chmod 更改文件或目录权限
【1月更文挑战第2天】
36 0
|
6月前
|
Linux
Linux touch命令:创建文件及修改文件时间
既然知道了如何在 Linux 系统中创建目录,接下来你可能会想在这些目录中创建一些文件,可以使用 touch 命令。 需要注意的是,touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数)。 Linux 系统中,每个文件主要拥有 3 个时间参数(通过 stat 命令进行查看),分别是文件的访问时间、数据修改时间以及状态修改时间: 访问时间(Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新。例如,使用 cat 命令可以查看文件的内容,此
112 0
|
9月前
|
搜索推荐
更改目录
写完了一篇文章,进行对标题实现一个自动更改的目的,通过word对文章标题实现一个自动更改目录的功能,在更改的过程中遇到了出现了很多不明白的地方的,也是让自己陷入了两难的境界。
33 0
|
缓存 知识图谱
SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)
为了方便新加入团队的员工熟悉团队写作开发。为了将好东西分享给广大网友和初入职场的小白。将SVN内部员工培训文档公开,以方便更多的人,提高知识获取速度,尽快熟悉协同开发。本文档培训员工对于SVN的基本操作,这些操作是开发过程中最常用的操作。
SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)
|
人工智能 Linux
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
140 0
更改文件名
更改文件名
82 0
|
Linux
【Linux】修改文件时间或创建新文件:touch
【Linux】修改文件时间或创建新文件:touch
113 0
【Linux】修改文件时间或创建新文件:touch
|
Linux
3.12 Linux创建文件及修改文件时间戳(touch命令)
既然知道了如何在 Linux 系统中创建目录,接下来你可能会想在这些目录中创建一些文件,可以使用 touch 命令。
388 0
3.12 Linux创建文件及修改文件时间戳(touch命令)
|
Linux
9.16 Linux修改文件或目录的隐藏属性(chattr命令)
管理 Linux 系统中的文件和目录,除了可以设定普通权限和特殊权限外,还可以利用文件和目录具有的一些隐藏属性。
286 0
9.16 Linux修改文件或目录的隐藏属性(chattr命令)