最近在使用wget下载远端文件,发现一个问题,下载后的文件在winscp软件中按照时间排序,竟然找不到最新的文件,这样一来非常不方便。原来winscp软件的排序功能中只有按照修改时间排序。
使用windows系统下载文件后,发现文件创建时间是最新的时间,可以正常排序。那么问题来了,linux下怎么查看文件的创建时间呢 ?为什么这里没有创建时间排序呢?带着疑问翻阅了很多资料。最后明白在linux下是没有创建时间的概念的。 只有文件的访问时间、修改时间、状态改变时间。也就是我们常说的atime、ctime、mtime,你肯定会 想到find了。对。这个和find关系非常密切。
[root@localhost ~]# stat 122.txt File: "122.txt" Size: 0 Blocks: 0 IO Block: 4096 普通空文件 Device: fd00h/64768d Inode: 917724 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2020-03-04 11:21:27.038894936 +0800 Modify: 2020-03-04 11:21:27.038894936 +0800 Change: 2020-03-04 11:21:27.038894936 +0800
stat命令可以查看文件的权限和时间,具体3个时间如何发生变化,下边会介绍到。
使用stat * 会显示出文件夹下所有文件的属性。
ATime ——文件的最近访问时间
只要读取时间,ATime就会更新
MTime ——文件的内容最近修改的时间
当文件进行被写的时候,CTime就会更新
CTime——文件属性最近修改的时间
当文件的目录被修改,或者文件的所有者,权限等被修改时
CTime也就会更新
如何利用touch指令进行文件的时间修改?
touch修改时间
touch不仅可以创建文件,还可以对其进行时间的一些修改
格式:touch 参数 文件名
参数:
-a:或–time=atime或–time=access或–time=use -c:或–no-creat,如果棉花地文件不存在,也不创建任何文档 -d:使用指定的日期时间,可以使用不同的格式 -m:或–time=mtime或–time=modify,改变修改时间 -r:把指定的文件日期更设成和参考文档或目录日期相同的时间 -t:使用指定的日期时间,格式与date指令相同
利用touch指令创建一个文件
利用touch修改ATime
touch -d 使用指定的日期来修改
linux下常用的文件搜索which、whereis、locate、find。