为什么
find . -mtime 1 -print
显示两个最近修改的文件,但是
find . -mtime 1 -exec /usr/bin/ls -l '{}' \;
或者
find . -mtime 1 -exec /usr/bin/ls -l {} \;
处理正确但没有显示任何内容?
编辑:它现在正在工作 - 所有三个都会产生预期的输出!感谢您的所有建议,但仍然不知道是什么阻止了最后两种形式的工作。
答案1
您发现了两个空目录而不是两个文件。通过使用ls -ld
代替来测试这个理论ls -l
,它将列出目录条目而不是其内容:
find . -mtime 1 -exec ls -ld {} \;
或者如果你真的只想要文件,
find . -type f -mtime 1 -exec ls -l {} \;
请注意,-mtime 1
匹配的项目最后更改是在一天前,不多也不少。如果您想要在 24 小时内修改项目,您可以使用-mtime -1
。