我正在尝试通过命令删除超过 100 天的图像缓存文件
find /mnt/data/cache/*.jpg -maxdepth 0 -mtime +100 -type f -ls -delete
但问题是/mnt/数据/缓存/包含大量文件,我收到错误
bash: /usr/bin/find: 参数列表太长
/mnt/data/cache/ 中没有子目录。 /mnt/data/cache/ 文件夹中的所有文件和标准-最大深度0解决方案没有帮助
那么有什么办法可以按某些部分或偏移限制进行查找吗?或者是否有一些替代命令可以删除目录中早于 100 天的文件?
答案1
find /mnt/data/cache/*.jpg ...
将扩展到
find /mnt/data/cache/1.jpg /mnt/data/cache/2.jpg /mnt/data/cache/3.jpg ...
如果您的文件太多,这会导致您看到的错误。
如果没有子目录,则可以跳过-maxdepth 0
并-type f
你想要的是
find /mnt/data/cache/ -mtime +100 -name \*.jpg -ls -delete
最后一句话,如果你追加> /dev/null
,就删除-ls