linux中用什么命令可以查询出多少天之前修改过的文件呢?

linux中用什么命令可以查询出多少天之前修改过的文件呢?,第1张

可以用ls -l命令:

ls -l|grep [DATE]

其中[DATE]为你想要找的那天,格式见ls -l的输出。

比如想找/tmp下修改时间为2007年8月15日的文件,如下 *** 作:

ls -l /tmp

输出为:

drwx------ 2 youran youran 4096 2007-08-27 11:54 virtual-youran.1w2lZh

drwx------ 2 youran youran 4096 2007-08-27 23:22 virtual-youran.HdRfdr

drwx------ 2 youran youran 4096 2007-08-17 14:45 virtual-youran.JYuHxo

drwx------ 2 youran youran 4096 2007-08-26 10:52 virtual-youran.kDJHWC

drwx------ 2 youran youran 4096 2007-08-15 21:02 virtual-youran.KVpFVO

drwx------ 2 youran youran 4096 2007-08-28 09:51 virtual-youran.VL7WSV

drwxrwxrwt 2 root root4096 2007-08-15 18:17 VMwareDnD

drwx------ 2 root root4096 2007-08-15 18:21 vmware-root

prw------- 1 root root 0 2007-08-15 18:22 vmware-root.1

drwx------ 2 youran youran 4096 2007-08-28 11:47 vmware-youran

prw------- 1 youran youran 0 2007-08-15 18:21 vmware-youran.1

可以看出ls -l日期的显示方式是YYYY-MM-DD,所以就可以这样写:

ls -l|grep 2007-08-15

输出为:

virtual-youran.KVpFVO

drwxrwxrwt 2 root root4096 2007-08-15 18:17 VMwareDnD

drwx------ 2 root root4096 2007-08-15 18:21 vmware-root

prw------- 1 root root 0 2007-08-15 18:22 vmware-root.1

prw------- 1 youran youran 0 2007-08-15 18:21 vmware-youran.1

就把2007年8月15日的所有文件列出来了。

find . -type d -name xxx

搜索当前目录(包括子目录)下,名字为xxx的目录

ls不能“只”显示3天前的文件,ls -lt 会列出所有的文件,及其时间。

还是要用find来找3天前的文件

find . -type f -ctime +3

就会列出当前目录(包括子目录下),三天前改动的文件。

可以使用find命令来查找多少天前修改的文件

根据文件时间戳进行搜索

find . -type f 时间戳

UNIX/Linux文件系统每个文件都有三种时间戳:

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

搜索最近七天内被访问过的所有文件

find . -type f -atime -7

搜索恰好在七天前被访问过的所有文件

find . -type f -atime 7

搜索超过七天内被访问过的所有文件

find . -type f -atime +7

搜索访问时间超过10分钟的所有文件

find . -type f -amin +10

找出比file.log修改时间更长的所有文件

find . -type f -newer file.log


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9020221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存