Ava*_*eka 3 command-line files
如何在 Ubuntu 上找到最近无法访问的文件?我想删除所有长时间未访问的文件。如果我手动执行它会消耗很多时间。有什么命令吗?
'find' 命令有一个名为 '-atime' 的选项,正好用于这种用法。如果要递归查找目录下 30 天未访问的所有文件,请使用:
find /directory/path/ -type f -atime +29
Run Code Online (Sandbox Code Playgroud)
我认为在删除之前,它总是使用第一个命令来列出您正在操作的文件。如果要删除它们,请使用:
find /directory/path/ -type f -atime +29 -delete
Run Code Online (Sandbox Code Playgroud)
正如Amias在评论中提到的,并非所有文件系统都使用 atime。您还可以-mtime
使用ctime
.
值得注意的是,它find
的时间结构不寻常,它以24小时为单位搜索天,所以你可能认为是3天,find可能认为只有2天。因此使用+29 30 天。将+
用于指定,超过天的数目,-
可以被用来指定小于。
如果您不希望搜索是递归的,您可以限制它下降到目录树中的程度,-maxdepth n
其中 n 是要下降的目录数。