ls 指令的介绍

每个文件在linux下面都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢? 

modification time (mtime) : 当该文件的“内容数据”变更时,就会更新这个时间!内
容数据指的是文件的内容,而不是文件的属性或权限喔!
status
time (ctime) : 当该文件的“状态 (status) ”改变时,就会更新这个时间,举 例来说,像是权限与属性被更改了,都会更新这个时间啊。
access
time (atime) : 当“该文件的内容被取用”时,就会更新这个读取时间 (access) 。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的 atime 了

 

      分号: 顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行。

      &&  : 顺序执行各条命令, 只有当前一个执行成功时候, 才执行后面的。

        ||   : 顺序执行各条命令, 只有当前面一个执行失败的时候, 才执行后面的。

 

[root@study ~]# date; ls -l /etc/man_db.conf ; ls -l --time=atime /etc/man_db.conf ; \
> ls -l --time=ctime /etc/man_db.conf # 这两行其实是同一行喔!用分号隔开
Tue Jun 16 00:43:17 CST 2015 # 目前的时间啊!
-rw-r--r--. 1 root root 5171 Jun 10 2014 /etc/man_db.conf # 2014/06/10 创建的内容(mtime
-rw-r--r--. 1 root root 5171 Jun 15 23:46 /etc/man_db.conf # 2015/06/15 读取过内容(atime
-rw-r--r--. 1 root root 5171 May 4 17:54 /etc/man_db.conf # 2015/05/04 更新过状态(ctime
# 为了要让数据输出比较好看,所以鸟哥将三个指令同时依序执行,三个指令中间用分号 (;) 隔开即可。

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

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

 

  touch /etc/man_db.conf
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

Tips 嘿嘿!不要怀疑系统时间会来自未来喔!很多时候会有这个问题的!举例来说在安装
过后系统时间可能会被改变! 因为台湾时区在国际标准时间格林威治时间, GMT”的右边,所
以会比较早看到阳光,也就是说,台湾时间比GMT时间快了八小时! 如果安装行为不当,我
们的系统可能会有八小时快转,你的文件就有可能来自八小时后了。
至于某些情况下,由于BIOS的设置错误,导致系统时间跑到未来时间,并且你又创建了某些
文件。 等你将时间改回正确的时间时,该文件不就变成来自未来了?^_^

[root@study ~]# touch [-acdmt] 文件
选项与参数:
-a :仅修订 access time-c :仅修改文件的时间,若该文件不存在则不创建新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

 

来自:鸟哥私房菜

 

posted on 2019-01-14 14:36  luck666  阅读(390)  评论(0编辑  收藏  举报

导航