在Linux上,在没有选项-d的情况下,查找LS未显示正确结果的命令
我需要检查所有的文件创建在最后一天内的当前文件夹,其中有百万的文件 如果我使用以下命令,将显示正确的80或90个文件。这是正确的在Linux上,在没有选项-d的情况下,查找LS未显示正确结果的命令,linux,shell,find,ls,Linux,Shell,Find,Ls,我需要检查所有的文件创建在最后一天内的当前文件夹,其中有百万的文件 如果我使用以下命令,将显示正确的80或90个文件。这是正确的 find . -ctime -1 -exec ls -ld {} \; 但是如果我把ls选项改成rt或l或其他没有d的东西。它显示了错误的结果。它显示了数千个文件。我最终不得不按下控制C来停止输出。下面所有的结果都是错误的,永远不会结束 find . -ctime -1 -exec ls -l {} \; find . -ctime -1 -exec ls -t {
find . -ctime -1 -exec ls -ld {} \;
但是如果我把ls选项改成rt或l或其他没有d的东西。它显示了错误的结果。它显示了数千个文件。我最终不得不按下控制C来停止输出。下面所有的结果都是错误的,永远不会结束
find . -ctime -1 -exec ls -l {} \;
find . -ctime -1 -exec ls -t {} \;
find . -ctime -1 -exec ls -rt {} \;
find . -ctime -1 -exec ls {} \;
有人能告诉我这里发生了什么吗。为什么它只适用于d。
下面的作品
find . -ctime -1 -exec ls -lrtd {} \;
如果您使用ls/tmp
ls/tmp
,您将看到原因。它提供了/tmp
目录中的所有文件,而不是目录本身的详细信息
您可以通过使用
-d
让ls
显示目录而不是目录中的文件(如您所见)或使用查找-type f
将搜索限制为仅常规文件来“修复”此问题。假设您只对常规文件感兴趣,层次结构中也存在类似FIFO管道和设备的内容,但在-type
上还有其他变体,可以根据需要选择这些文件(有关详细信息,请参见查找手册页)。查找-mtime-3-type f-exec ls-lrt{};工作正常,但排序不正确