如何在linux中按访问时间删除文件?

aik*_*tto 0 linux find

我想删除目录中访问时间早于 10 分钟的 *.mp3 文件。我能怎么做?谢谢。

kri*_*sFR 7

我会使用命令中的-amin开关find

find <path> -name "*.mp3" -amin +10 -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)

来自man find

-amin n
              File was last accessed n minutes ago.
Run Code Online (Sandbox Code Playgroud)

出于测试或调试目的,不要运行rm命令,ls -l而是:

find <path> -name "*.mp3" -amin +10 -exec ls -l {} \;
Run Code Online (Sandbox Code Playgroud)

编辑

我只是想说一下这个-delete选项:这个选项会自动打开这个-depth选项。

放置-deletefind尝试删除指定起点以下的所有内容。为了避免意外,我会明确指定-depth选项。

由于我不知道 OP 的文件夹/文件树,我不会建议他-delete单独使用该选项。对我来说似乎有点无意识。

至少我会建议:

find <path> -maxdepth 1 -name "*.mp3" -amin +10 -delete
Run Code Online (Sandbox Code Playgroud)